Bonjour,

Je souhaite mettre un système d'authentification avec oauth mais j'ai un problème sur la partie déconnexion de l'utilisateur.
J'ai mis en place une authentification avec laravel passport et j'utilise "authorization code" pour que des développeur tiers puissent créé une application et utiliser ma connexion oauth pour accéder a mon api pour leurs utilisateurs.

Donc lorsque j'appel la page oauth/authorize avec les paramètres qui vont bien, j'arrive sur ma page de login, je m'identifie, je fais tout ce qu'il faut et j'obtiens mon token, que je peux utiliser pour appeler mon api. Jusqu'ici tout fonctionne bien.

Seulement lorsqu'une personne souhaite se déconnecter de mon système, j'ai fait une api qui execute
$request->user()->token()->revoke();
et ça revoque bien le token mais par la suite quand j'appelle oauth/authorize, l'utilisateur est toujours identifié, j'arrive directement sur une page qui me demande d'autoriser ou non l'utilisation de mes scopes (donc le token est bien révoqué). Le problème c'est que si c'est un autre utilisateur qui veut se connecter il ne peut pas puisque la personne est restée connectée.

J'ai essayer d'utiliser Auth::logout et $request->session()->invalidate(); mais ça ne fonctionne pas dans mon controlleur. Je pense qu'il y a une différence entre l'autentification à l'api et l'autentification de l'utilisateur mais je ne vois pas comment déconnecter l'utilisateur.

Je précise que je reprend ce projet laravel depuis quelques mois et même si j'ai suivi les tutos grafikart et autres, tout n'est pas encore très clair pour moi dans laravel. Un coup de pouce serait très apprecié, merci !

Aucune réponse