L’utilisateur 1 démarre un navigateur et se connecte au Forum via SSO, travaille pendant un certain temps, puis ferme le navigateur.
L’utilisateur 2 démarre un navigateur sur la même machine et se connecte à nouveau au Forum via SSO. Le processus l’oblige à effectuer une connexion complète avec ses identifiants, mais lorsqu’il entre dans le forum, il est connecté en tant qu’utilisateur 1.
Discourse permet de définir la durée d’expiration de la session à un minimum d’une heure. Cela signifie que l’utilisateur peut revenir sur l’ordinateur dans l’heure et simplement se connecter pour récupérer l’identité de l’utilisateur précédent grâce aux cookies.
Une correction avait été apportée en 2016 pour permettre aux cookies d’expirer à la fermeture du navigateur, mais elle a depuis été annulée.
Cela rend le logiciel très peu sécurisé dans un environnement où plusieurs personnes utilisent le même poste de travail si le navigateur n’est pas configuré pour fonctionner en mode privé.
Vous pouvez consulter le code du commit ci-dessus, qui a été annulé, et l’adapter dans un plugin pour répondre à vos besoins.
Vous pouvez également implémenter une intégration de déconnexion dans votre système SSO, afin que lorsqu’un utilisateur se déconnecte, cela appelle Discourse pour mettre fin à toutes les sessions existantes de cet utilisateur.
Et non, cela n’est pas considéré comme une faille de sécurité.