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.