Question

J'ai récemment mis en œuvre les points d'extrémité openid de Google et Yahoo dans mon système d'authentification sur mon site afin que les utilisateurs puissent éviter de créer un compte sur mon site. Jolie pratique courante, non?

J'ai une question spécifique cependant, mais d'abord une petite information de base.

Lorsque je passe à travers l'authentification à trois pattes, j'ai utilisé Attribut Exchange pour obtenir le nom et l'adresse e-mail de l'utilisateur. Actuellement, je stocke leur ouverte (une longue chaîne qui ressemble à ceci: https://me.yahoo. COM / A / 2Z7LPLQSNI_DGTAW (... un tas d'alphanumérique) dans un champ spécial de la table des utilisateurs.

Disons que ma table des utilisateurs ressemble à ceci.

type  id  password                          email             key
1     1   0e9212587d373ca58e9bada0c15e6fe4  test@example.com
2     1   b8d2f4a50d2b364ff2766556ba50da48  me@gmail.com      https://www.google.com/accounts/o8/id?id=AItOawll6-m_y…
2     2   6687d5d88b359ee1340717ebf0d1afc6  you@gmail.com     https://www.google.com/accounts/o8/id?id=AItOawm3-C_9…
3     1   fd193c2fa449c9d6dc201d62d5ca86d3  him@yahoo.com     https://me.yahoo.com/a/2Z7LplQsnI_DgtAw…
1     2   2e710b13b3dd787e2b15eab3dde508c2  person@site.com

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

Lorsqu'un utilisateur se connecte avec un compte natif, le courrier électronique et le mot de passe sont utilisés pour authentifier (DUH).

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

D'accord, maintenant que toutes les informations générales sont à l'écart ... sera-t-il sécurisé si j'oublie de stocker l'Openid lui-même et utilisez simplement l'email que j'ai reçu de l'échange d'attributs pour authentifier l'utilisateur? Quelqu'un peut-il servir la troisième étape de la transaction openid ou puis-je faire confiance à cela chaque fois que je reçois vous@gmail.com à partir de la partie d'échange d'attributs d'une transaction ouverte avec Google qu'il est authentique et non spoofed?

Était-ce utile?

La solution

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

La seule information garantie absolument cohérente et fiable après que l'URL d'identité est l'URL d'identité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top