2010-10-04 8 views
2

Je sais qu'il y a des questions et des réponses très similaires. Je les ai utilisés à titre de référence, mais j'aimerais présenter un cas précis. Un moyen de mettre en œuvre la déconnexion unique/déconnexion unique sur plusieurs domaines. De ce que j'ai lu, il semble que la seule façon est d'utiliser un serveur pour le service du serveur, à savoir. suivi des utilisateurs en vérifiant qu'ils ont accès au serveur SSO, chaque pageload.Single Sign Out sur plusieurs domaines

Ce que je veux dire par Single Sign Out est qu'un utilisateur signé sur plusieurs sites peuvent vous déconnecter en cliquant sur un lien pour vous déconnecter du site actuel (et ne pas être redirigé vers signOut pages sur tous les autres sites)

J'ai regardé le serveur OpenID, mais je ne crois pas qu'il puisse être étendu pour supporter cela. SimpleSAMLphp ressemble à une meilleure alternative.

Discuter

Répondre

1

Vous devriez stocker les sessions données dans un espace de stockage partagé comme base de données/Memcache à l'aide de la session comme identificateurs user1194_dj1kldkjawi1ljidsa (1194 - id utilisateur). Donc, si vous avez besoin de vous déconnecter sur tous les domaines, il vous suffit de supprimer du stockage de session toutes les entrées avec des clés comme user1194_ *

+0

C'est aussi ce que j'ai trouvé, mais je me demande pourquoi aucun autre fournisseur de SSO n'emploie la même fonctionnalité? Google, Facebook, OpenID, etc. Il est intéressant de noter que Google utilise un amalgame de redirections et d'images qui exécutent des scripts sur d'autres domaines en utilisant 'src ='. Peut-être que c'est une réponse possible. Je n'aime pas ne pas pouvoir supprimer des sessions en PHP n'appartenant pas à l'utilisateur actuel. –