Pregunta

Recientemente ha implementado recientemente los puntos finales de Google y de Yahoo en mi sistema de autenticación en mi sitio para que los usuarios puedan evitar la creación de una cuenta en mi sitio. Práctica bastante común, ¿verdad?

Tengo una pregunta específica, pero primero tengo una pequeña información de fondo.

Cuando llegue a través de la autenticación de tres patas, utilicé el intercambio de atributos para obtener el nombre y la dirección de correo electrónico del usuario. Actualmente, estoy almacenando su OpenID (una cadena larga que se ve así: https://me.yahoo. com / a / 2z7lplqsni_dgtaw (... un grupo de alfanumérico) en un campo especial en la tabla de usuarios.

Digamos que la mesa de mi usuario se ve así.

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

Cuando un usuario inicia sesión con una cuenta nativa, el correo electrónico y la contraseña se utilizan para autenticar (DUH).

Cuando un usuario usa Google o Yahoo Openid, entonces se usa el OpenID (Clave) para autenticarse.

De acuerdo, ahora que toda la información de fondo está fuera de camino ... ¿Será seguro si me olvido de almacenar la opción OpenID y simplemente usar el correo electrónico que regresé del intercambio de atributos para autenticar al usuario? ¿Puede alguien falsificar la tercera etapa de una transacción OpenID o puedo confiar en que cada vez que te reciba@gmail.com de la parte de intercambio de atributos de una transacción OpenID con Google que es genuina y no falsificada?

¿Fue útil?

Solución

Una rotura tan intencional del protocolo le causará dolores de cabeza importantes a largo plazo.Por ejemplo, considere los casos en los que un usuario inicia sesión en el uso de un servidor OpenID de fabricación personalizado, pero proporciona una dirección de correo electrónico @ gmail.com.

La única información garantizada para ser absolutamente consistente y confiable después de un intercambio de autenticación Openid es la URL de identidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top