El flujo de inicio de sesión que usted propone es:
- El usuario inicia sesión en el sitio con nombre de usuario y contraseña.
- Un enlace se envía por correo electrónico a la dirección de correo electrónico registrada del usuario (y, presumiblemente, verificada).
- El usuario hace clic en el enlace para completar el proceso de inicio de sesión.
Si bien no lo describe, un flujo de recuperación de contraseña típico es:
- El usuario solicita recuperar la contraseña.
- Deben proporcionar una combinación de dirección de correo electrónico, nombre de usuario, respuesta a preguntas, etc. ...
- Se envía un correo electrónico a la dirección de correo electrónico registrada del usuario con un enlace para restablecer la contraseña o una contraseña temporal.
Si usa esto, significa que obtener acceso al correo electrónico de un usuario le permitirá a un atacante restablecer la contraseña y luego ejecutar correctamente el flujo de trabajo de inicio de sesión. Esto no es mejor que el esquema de recuperación de contraseña y inicio de sesión estándar, así que no desperdicie su energía en él. 1
Si no usa el correo electrónico para la recuperación de la contraseña, creo que esta solución proporciona algo de seguridad adicional, aunque es discutible cuánto. Y todo lo que está ahorrando es la molestia para el usuario por tener que escribir un código que se le envía por SMS o mediante una aplicación de autenticación móvil.
No especifica las propiedades del enlace de inicio de sesión. En caso de que solo funcione si el usuario abre ese enlace en el mismo navegador en el que inició el proceso de inicio de sesión. Si funcionaría en cualquier navegador, entonces el enlace sería todo lo suficiente para ingresar al usuario. cuenta.
1 En realidad es un poquito mejor, ya que un atacante que solo tiene un acceso breve y único al buzón del usuario no puede ingresar. Debe acceder a él dos veces: una vez para restablecer la contraseña y una vez más hacer clic en el enlace de inicio de sesión. Por lo tanto, requerir dos correos electrónicos ayudará en el improbable caso de que el atacante solo tenga tiempo suficiente para trabajar en uno de los flujos de trabajo antes de perder el acceso al correo electrónico de la víctima.