Bonjour à tous.

Je souhaite utiliser l'authentification SSO sur une appli d'entreprise.
Pas de problème avec le SSO : je récupère bien en PHP et via un module d'apache le nom de connexion de mes visiteurs.
Grâce à ce login, je requête via LDAP mon annuaire afin de récupérer les infos dont j'ai besoin.

Quelle est la meilleure façon de se servir de ce nom de connexion dans Laravel 5.5 ?
Je débute, et je ne comprends pas tout concernant l'authentification intégrée à Laravel... l'excellent tuto à ce sujet étant sous la version 5.1.
J'ai créé un middleware "sso" déclaré dans le Kernel.php pour être utilisé partout, mais puis-je simplement lancer la connexion de mes utilisateurs depuis ce Middleware afin de pouvoir utiliser les méthodes de la classe Auth ?
Comment par exemple redéfinir et appeler la méthode "attemptLogin" du LoginController.php ?

Merci pour votre aide.

2 réponses


tom49
Réponse acceptée

Dans mon cas le SSO me renvoi l'email de l'utilisateur si les données sont correctes, puis ensuite :

$responseSso = ....;
$user = User::where('email', $responseSso->email)->get();
Auth::loginUsingId($user->id);

La méthode est loin d'être parfaite mais elle fonctionne.

Merci beaucoup !
Je ne peux pas juger de la "parfaititude" de cette solution, mais comme vous dites elle fonctionne !