Comment utiliser Keycloak avec Laravel

Installer le package Laravel Keycloak

Pour simplifier le processus d’intégration, vous pouvez utiliser le package Laravel Keycloak. Installez le package via Composer en exécutant la commande suivante dans le répertoire de votre projet Laravel :

Terminal window
composer require aacotroneo/laravel-oidc

Configurer le package Laravel Keycloak

Après avoir installé le package, vous devez le configurer pour vous connecter à votre instance Keycloak. Ouvrez le fichier config/oidc.php et fournissez les détails de configuration nécessaires, tels que l’URL du serveur Keycloak, le realm, l’identifiant client, le secret client et l’URL de redirection.

Implémenter l’authentification Keycloak dans Laravel

Pour activer l’authentification Keycloak dans votre application Laravel, vous devez apporter quelques modifications au fichier config/auth.php. Mettez à jour le tableau guards pour inclure un nouveau guard pour Keycloak, comme ceci :

'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'keycloak' => [
'driver' => 'keycloak',
'provider' => 'users',
],
],

Ensuite, mettez à jour le tableau providers pour inclure un nouveau fournisseur pour Keycloak, comme ceci :

'providers' => [
'users' => [
'driver' => 'keycloak',
'model' => App\Models\User::class,
],
],

Protéger les routes avec l’authentification Keycloak

Pour protéger des routes spécifiques avec l’authentification Keycloak, vous pouvez utiliser le middleware keycloak fourni par le package Laravel Keycloak. Ajoutez simplement le middleware aux routes ou groupes de routes souhaités dans votre fichier routes/web.php, comme ceci :

Route::middleware('keycloak')->group(function () {
// Routes nécessitant l'authentification Keycloak
});

Tester l’authentification Keycloak

Vous pouvez maintenant tester l’authentification Keycloak en accédant aux routes protégées de votre application Laravel. Si tout est correctement configuré, les utilisateurs seront redirigés vers la page de connexion Keycloak lorsqu’ils accèdent à ces routes.

C’est tout ! Vous avez intégré avec succès Keycloak avec Laravel en utilisant le package Laravel Keycloak. Vous pouvez désormais profiter des avantages d’un système d’authentification sécurisé et robuste pour votre application Laravel.

Pour plus d’informations et une utilisation avancée du package Laravel Keycloak, consultez la documentation du package sur GitHub.