¿La mejor forma de implementar una contraseña olvidada? [cerrado]

Estoy buscando el mejor método para implementar una función de "contraseña olvidada".

Salgo con 2 ideas:

Cuando el usuario hace clic en Olvidé mi contraseña, el usuario debe ingresar el nombre de usuario, correo electrónico y tal vez la fecha de nacimiento o apellido. Luego se enviará un correo con contraseña temporal a la cuenta de correo electrónico del usuario. El usuario utiliza la contraseña temporal para iniciar sesión y restablece su contraseña.

Similar, pero el correo electrónico contendría un enlace para permitir al usuario restablecer su contraseña.

¿O alguien me puede sugerir una manera mejor y más segura? También estoy pensando en enviar la contraseña o el enlace temporal, forzar al usuario a restablecer la contraseña dentro de las 24 horas o, de lo contrario, no se podrá utilizar la contraseña o el enlace temporal. ¿Como hacer eso?

Respuestas a la pregunta(10)

Su respuesta a la pregunta