2010-10-14 8 views
2

Il y a deux ans, j'ai dû concevoir un système pour partager des données d'authentification entre plusieurs domaines, tous partageant le même serveur/DB. J'ai été en mesure de le faire avec un système complexe de partage de cookies qui, à ce jour, fonctionne toujours.Connexion d'un utilisateur à travers différents domaines

Je suis actuellement en train de restructurer le système et je me demandais s'il y avait de meilleures façons d'y arriver sans avoir à écrire des cookies inter-domaines.

Fondamentalement, le système DOIT le faire.

Une fois connecté sur un site, l'utilisateur doit être connecté à tous les autres sites de façon transparente, non seulement en suivant un lien, mais même en écrivant directement le nom de domaine sur la barre d'adresse. À ma connaissance, la seule façon d'y parvenir sont les cookies interdomaines, s'il existe des alternatives, dites-le moi s'il vous plaît.

Merci beaucoup

Répondre

0

Pour cela, vous ne devez utiliser les cookies, mais vous pouvez varier ce que vous amassez dans le cookie. Le cookie n'a pas besoin de contenir les informations d'identification de l'utilisateur, mais peut plutôt contenir quelque chose de plus comme un jeton que vous utilisez pour "centraliser" vos sessions. Le moyen le plus facile serait de permettre à tous les hôtes de partager un seul serveur memcached et d'utiliser le contenu du cookie des utilisateurs comme clé.

1

Mon idée serait d'inclure un login-Javascript à partir d'un troisième domaine qui est inclus dans tous les sites. Ce javascript définit et lit le cookie de session et appelle le serveur de domaines actuel via ajax avec le résultat. (Aucune validation ne doit être effectuée dans le JS - cela définit et lit simplement le cookie)

Si l'inter-domaine AJAX ne fonctionne pas, vous pouvez toujours appeler le serveur de domaine tiers qui agit comme un proxy et appelle le serveur de domaines actuel.