J’ai donc un problème avec la logique de déconnexion.
Nous utilisons la configuration auth0 avec Discourse oauth2 et le problème est que lorsque nous déclenchons la déconnexion en utilisant currentUser.destroySession(), la session Discourse est terminée car l’utilisateur est déconnecté mais les données oauth sont toujours mises en cache ?
Qu’est-ce que je veux dire par là ?
Contexte : lorsque vous utilisez le SSO, vous vous attendez à ce que, lorsque l’utilisateur se déconnecte de votre site, la prochaine fois qu’il essaie de se reconnecter, il soit redirigé de votre site vers la page SSO où il pourra saisir ses informations d’identification et, une fois authentifié, l’utilisateur sera redirigé vers votre site avec une session active.
Donc, en utilisant ce contexte ci-dessus, Discourse ne semble pas complètement déconnecter l’utilisateur, car chaque fois que je me déconnecte de Discourse, cela fonctionne bien, mais chaque fois que j’essaie de me reconnecter à mon forum, Discourse ne déclenche pas la page SSO à nouveau, il se souvient d’une manière ou d’une autre du compte SSO précédemment connecté, il sélectionne et connecte automatiquement l’utilisateur, ce qui est très étrange.
Et cela signifierait essentiellement que je suis bloqué avec cet utilisateur, je ne peux pas changer pour un autre compte utilisateur, à moins peut-être d’utiliser la navigation privée ou un navigateur complètement différent ![]()
Attente : une fois que j’ai cliqué sur déconnexion, la prochaine tentative de reconnexion devrait m’amener à ma page SSO auth0 où je peux faire le nécessaire, puis je serai redirigé vers le forum Discourse.
Cela semble être un problème avec currentUser.destroySession() sur la façon dont il efface la session plus les données oauth ?
J’ai également testé en effectuant manuellement un appel API pour détruire la session utilisateur, toujours les mêmes résultats, aucune amélioration :
fetch(`https://MY_FORUM.discourse.group/admin/users/USER_ID/log_out`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Api-Key': 'API_KEY',
'Api-Username': 'ADMIN_USERNAME',
},
})
Veuillez partager vos idées à ce sujet si vous avez une idée sur la façon de corriger/aborder la déconnexion lors de l’utilisation de oauth.