Je devais régler ceci lors de mon dernier travail. La façon dont il a été géré était par le biais d'un passage de hachage à la main et semi-sécurisé. Fondamentalement, chaque site, site A et site B, a une configuration de passerelle identique sur chaque domaine. La passerelle accepte un user ID
, un timestamp
, un redirect URL
et un hash
. Le hash
est composé d'un shared key
, le timestamp
, le user ID
.
Le site A génère le hachage et envoie toutes les informations répertoriées ci-dessus à la passerelle sur le site B. Le site B hache ensuite les données user ID
et timestamp
reçues avec le shared key
.
Si le hachage généré correspond au hachage reçu, la passerelle consigne l'utilisateur et charge sa session à partir d'une table de mémoire partagée ou d'un pool memcached et redirige l'utilisateur vers le redirect url
reçu.
Enfin, le timestamp
est utilisé pour déterminer un délai d'expiration pour le hash
passé (par exemple: le hachage n'était valide que pour le temps x
). Quelque chose d'environ 2,5 minutes est ce que nous avons utilisé pour notre TTL (pour tenir compte du décalage réseau et peut-être un rafraîchissement ou deux).
Les points clés sont:
- Avoir une ressource partagée où les sessions peuvent être sérialisés
- l'aide d'une clé partagée pour créer et confirmer hash (si vous allez utiliser md5, faire des passes multiples
- Autorisez uniquement le hachage pour une durée limitée mais raisonnable.
- Cela nécessite le contrôle des deux domaines.
Espérons que cela a été utile.
désolé faites ... mes questions mettaient la session pour la différence domaine ... –
Eh bien, vous avez édité votre question pour mettre "session" au lieu de "cookie" juste pendant que j'écrivais ma réponse; ma réponse reste la même, car le lien entre un utilisateur et sa session est généralement conservé dans un cookie. Comme les données de la session sont généralement conservées dans un fichier sur le serveur Web, il est encore plus difficile de les partager entre les sites Web (bien que votre serveur ne soit pas correctement sécurisé, vous pouvez accéder aux fichiers de session d'un autre site Web hébergé). dessus - mais pas bon ^^) –