Inicio de sesión social: autentíquese si existe un correo electrónico o cree un nuevo usuario

1

Aquí está la idea:

  • Tengo un sitio web donde ofrezco a los usuarios iniciar sesión / registrarse a través de las redes sociales (en este caso, Facebook y LinkedIn)
  • Cuando un usuario se autentica con cualquiera de los proveedores, busco los usuarios en mi base de datos y veo si ya hay un usuario que tiene la misma ID de red social agregada a su perfil.
  • Si hay - se registran
  • Si no lo hay, un nuevo usuario está registrado en mi base de datos.

Ahora la pregunta es: ya que puedo recibir el correo electrónico del usuario en la red social, también puedo buscar a mis usuarios en base a eso. ¿Debo proceder e iniciar sesión en ese momento o se considera una infracción de seguridad (dado que, dependiendo de la red social, es posible que pueda cambiar su correo electrónico por uno que no es suyo, por lo que entrar en el perfil de otra persona)?

Porque es posible que ya hayan registrado una cuenta utilizando el formulario de registro estándar y luego se olvidaron de haberlo hecho y hecho clic en el botón de inicio de sesión de la red social. Obviamente, no desea que obtengan un nuevo perfil (y técnicamente no pueden hacerlo porque el correo electrónico ya está en uso).

O tal vez si un usuario con ese correo electrónico ya existe, entonces puedo mostrar un mensaje al usuario que dice algo como

  

Ya existe una cuenta con tu correo electrónico. Inicie sesión con ese correo electrónico y su contraseña utilizando el formulario a continuación y luego agregue su perfil de red social para poder iniciar sesión con él en el futuro.

PS: Ya hice la misma pregunta en webapps.stackexchange.com pero resultó ser el lugar equivocado para él. Al observar las pautas para las preguntas en este sitio, parece que es el lugar adecuado para hacer la pregunta, pero si no lo es, me sentiría feliz si alguien me señala la dirección correcta.

De esta manera, una vez que inicien sesión con su cuenta en el sitio, podrán autenticarse nuevamente con el servicio y se establecerá una conexión entre su cuenta en el servicio y su cuenta local, lo que les permitirá iniciar sesión con él. el futuro.

    
pregunta Nikola Ivanov Nikolov 03.03.2014 - 03:36
fuente

1 respuesta

3

Yo sugeriría fuertemente autenticar independientemente cada método usado. Estos sitios pueden ofrecer información de correo electrónico al usuario y creo que podría ser apropiado utilizar el correo electrónico como un método de contacto, pero no lo usaría como inicio de sesión sin que el usuario pueda demostrar el control de ambos métodos que se combinan.

Por ejemplo, Jane tiene su cuenta de Facebook comprometida, pero era lo suficientemente inteligente como para usar una contraseña diferente para su correo electrónico (o quizás el compromiso fue a través de un método que no involucraba una contraseña). Podría recuperar esa cuenta en un futuro, pero un atacante también podría usarla para aprovechar una toma de control de su cuenta en su sitio.

Por esta y muchas otras razones, recomiendo que si un usuario intenta combinar múltiples métodos de acceso, debe autenticarse correctamente con al menos uno de los antiguos y el nuevo durante la sesión en la que los combina.

    
respondido por el Jeff Ferland 03.03.2014 - 04:02
fuente

Lea otras preguntas en las etiquetas