Un grupo de mi empresa está implementando una API REST de inicio de sesión único para nuestras aplicaciones. Este servicio de autenticación tiene una función de restablecimiento de contraseña. La aplicación envía el nombre de usuario a la función de reinicio. Si ese nombre de usuario está asociado con una dirección de correo electrónico, se envía un correo electrónico a esa dirección con una contraseña temporal.Restablecimiento de contraseña enviando contraseñas temporales por correo electrónico
El otro enfoque parece ser sitios que envían un correo electrónico a un enlace temporal y seguro que presenta una página para que el usuario ingrese una nueva contraseña. Esta página solo existe por un corto período de tiempo.
Sé que el correo electrónico no es un protocolo seguro, por lo que las personas pueden oler el tráfico y recuperar la contraseña temporal o el enlace temporal.
¿Hay razones de seguridad importantes para preferir un método sobre el otro? ¿Hay alguna otra manera más segura de hacer esto?
Es bastante trivial detectar a alguien que usa una contraseña temporal y obligarlo a cambiarla antes de continuar. – ceejayoz