¿Puedo confiar en los datos de perfil que me envió un proveedor de autenticación de terceros?

1

Esta pregunta puede estar relacionada con this , pero creo que tenemos que estar seguros.

Mi sitio web implementa el inicio de sesión a través de OpenID (o Google, o Facebook, etc.).

En mi sitio web, la autorización se basa en la dirección de correo electrónico del usuario. Si el usuario tiene el correo electrónico [email protected], obtiene acceso al contenido vinculado a esa dirección de correo electrónico. (Básicamente, en mi caso, el contenido enviado por otros usuarios a su dirección de correo electrónico).

No proporciono otras formas de inicio de sesión que la autenticación de terceros y el token de uso único. El usuario a veces se conecta a través de OpenID a veces a través del token.

Supongo que cuando un usuario nuevo inicia sesión por primera vez a través de OpenID, ¿debería verificar de hecho que ella es la propietaria de la dirección de correo electrónico? Solo entonces, puedo almacenar el proveedor como "de confianza" para esta dirección de correo electrónico.

¿Hay algo que impida que alguien configure un proveedor de OpenID, haga que proporcione la dirección de correo electrónico de otra persona y obtenga los privilegios vinculados a esta dirección de correo electrónico en mi sitio web? ¿Puedo hacer una lista de " "proveedores confiables (como Launchpad.net, Facebook, Google) que son conocidos por verificar la dirección de correo electrónico del usuario?

Estoy bastante seguro de la respuesta, pero necesito una confirmación. Quiero que mi sistema de inicio de sesión sea lo más liviano posible, especialmente para los nuevos usuarios. Por lo tanto, no me gustaría agregar tareas para el usuario si no es obligatorio.

    
pregunta Guilro 15.01.2014 - 22:14
fuente

3 respuestas

4

Si está permitiendo que lo haga cualquier proveedor de OpenID como StackExchange:

entonces probablemente debas validar la dirección de correo electrónico por separado enviando un correo electrónico de confirmación que contenga un enlace de verificación (como SE) antes de permitir el acceso.

    
respondido por el SilverlightFox 16.01.2014 - 11:43
fuente
3

Debe diferenciar entre proveedores confiables y no confiables.

Google y Facebook son proveedores de confianza porque verifican la dirección de correo electrónico del usuario. Por supuesto, en teoría es posible que alguien dentro de Google pueda falsificar su dirección de correo electrónico. Pero de manera pragmática, me complacería simplemente confiar en una dirección de correo electrónico de un proveedor importante.

Cualquiera puede configurar su propio servidor OpenID y hacer que diga cualquier dirección de correo electrónico que desee, por lo que no puede confiar en eso.

    
respondido por el paj28 15.01.2014 - 22:22
fuente
0

Cuando usa OpenID para autenticar usuarios, usa una lista explícita de proveedores que aceptará. Depende de usted si confiará en un proveedor individual, ya que básicamente está delegando la autenticación a estos proveedores: les está confiando que le indiquen si un usuario específico se ha conectado, y para proporcionar datos de identidad relativos a ese usuario. Su servidor no confiará en ningún proveedor que no esté en su lista de proveedores de confianza.

Por ejemplo, vea lo que hacen StackExchange.com por sí mismos: tienen una lista de proveedores de OpenID que aceptan (es decir, consideran "confiable") y puede iniciar sesión utilizando su cuenta en uno de estos proveedores, pero no en ningún otro.

Si desea una "dirección de correo electrónico verificada", debe confiar únicamente en los proveedores que hayan demostrado que implementan los procedimientos de verificación de correo electrónico que considere suficientes.

    
respondido por el Thomas Pornin 15.01.2014 - 22:26
fuente

Lea otras preguntas en las etiquetas