18-05-2011, 05:18 PM
niahoo a écrit :(18-05-2011, 04:11 PM)Jeckel a écrit : Attention, domaines différent signifie sessions différentes... donc tu auras du mal à récupérer la session de la connexion sur le domaine principale sur les autre domaines. (c'est faisable mais super casses-couilles)
Comment tu ferais ? edit: enfin, je veux dire, t'as une astuce particulière ou bien je tape « cross domain cookie » dans google ?
Je n'ai jamais fait, donc pas d'astuce éprouvée.
Normalement, un cookie est lié à un domaine et ne peut donc être consulté depuis un autre domaine (hors bidouille genre ActiveX ou exploitation d'une faille de sécurité du navigateur) et heureusement, sinon, on pourrait faire du vol de session à tout va.
Donc, le seul truc c'est de passer une clé dans l'URL (genre ID de session) et d'avoir accès sur les deux domaines à un système commun permettant de recharger la session et de créer un nouveau cookie sur le second domaine.
Je déconseillerai l'ID de session (pour éviter qu'il se balade trop facilement) au profit d'un token à usage unique :
- Sur le site A, l'utilisateur s'identifie, login et mot de passe, on créé une session, un laisse un cookie avec l'Id de session, normal quoi.
- Du site A, on souhaite aller au site B.
- Sur le site A, je créé un lien vers une page spécifique (dite de redirection) sur le site A.
Cette page créé dans une base ou dans un système de fichier une correspondance entre l'ID de session et un clé unique.
Puis envoie une réponse de redirection vers la page du site B avec la clé unique dans l'URL
- le navigateur appelle donc la page du site B avec la clé unique
- La page du site B reconnait la clé, va chercher dans la base ou le système de fichier la correspondance avec l'ID de session, Supprime cette correspondance, et rouvre la session et stocke le cookie.
- Ceci suppose que les sessions sont stockées au même endroit pour les deux domaines. (même système de fichier ou même base de donnée)
Voilà, dans la théorie, c'est ce que je ferai... mais jamais testé, et il y a sans doute d'autres méthodes