2010-07-13 2 views
2

J'ai récemment installé les points de terminaison OpenID de Google et de Yahoo dans mon système d'authentification sur mon site afin que les utilisateurs puissent éviter de créer un compte sur mon site. Pratique assez courante, non?Utilisation de OpenID avec un système de connexion de site Web existant

J'ai une question précise cependant, mais d'abord quelques informations générales. Lorsque j'ai passé l'authentification à trois pattes, j'ai utilisé Attribute Exchange pour obtenir le nom et l'adresse e-mail de l'utilisateur. À l'heure actuelle, je stocke leur OpenID (une longue chaîne qui ressemble à ceci:.. https://me.yahoo.com/a/2Z7LplQsnI_DgtAw (... un tas de caractères alphanumériques) dans un champ spécial dans la table des utilisateurs

Disons que mes utilisateurs la table ressemble à ceci

type id password       email    key 
1  1 0e9212587d373ca58e9bada0c15e6fe4 [email protected] 
2  1 b8d2f4a50d2b364ff2766556ba50da48 [email protected]  https://www.google.com/accounts/o8/id?id=AItOawll6-m_y… 
2  2 6687d5d88b359ee1340717ebf0d1afc6 [email protected]  https://www.google.com/accounts/o8/id?id=AItOawm3-C_9… 
3  1 fd193c2fa449c9d6dc201d62d5ca86d3 [email protected]  https://me.yahoo.com/a/2Z7LplQsnI_DgtAw… 
1  2 2e710b13b3dd787e2b15eab3dde508c2 [email protected] 

types 
1 = native account 
2 = Google OpenID 
3 = Yahoo OpenID 

Lorsqu'un utilisateur se connecte avec un compte natif, l'e-mail et mot de passe sont utilisés pour authentifier (duh).

Lorsqu'un utilisateur utilise Google ou Yahoo OpenID, le OpenID (champ clé) est utilisé pour authentifier

Okay, maintenant à tout, les informations d'arrière-plan sont à l'écart ... sera-t-il sécurisé si j'oublie de stocker l'OpenID lui-même et simplement utiliser l'email que j'ai récupéré à partir d'Attribute Exchange pour authentifier l'utilisateur? Quelqu'un peut-il usurper la troisième étape d'une transaction OpenID ou puis-je avoir confiance que lorsque je reçois [email protected] de la partie Attribute Exchange d'une transaction OpenID avec Google, cela est-il authentique et non falsifié?

Répondre

3

Une telle rupture intentionnelle du protocole vous causera des maux de tête majeurs à long terme. Par exemple, considérons les cas où un utilisateur se connecte à l'aide d'un serveur OpenID personnalisé, mais fournit une adresse e-mail @ gmail.com.

La seule information garantie d'être absolument cohérente et fiable après un échange d'authentification OpenID est l'URL d'identité.

+1

C'est exactement ce que je voulais savoir. Merci! –

Questions connexes