Forgot Password: ¿cuál es el mejor método para implementar una función de contraseña olvidada?

Me pregunto cuál es el mejor método para crear una función de contraseña olvidada en un sitio web. He visto bastantes por ahí, aquí hay algunos o una combinación de:

passphrase pregunta / respuesta (1 o más)enviar correo electrónico con nueva contraseñaen la pantalla da una nueva contraseñaconfirmación por correo electrónico: debe hacer clic en el enlace para obtener una nueva contraseñapage que requiere que el usuario ingrese una nueva contraseña

¿Qué combinación o pasos adicionales agregaría a una función de contraseña olvidada? Me pregunto cómo solicitan la nueva contraseña y cómo la obtienen.

Estoy operando en el principal que la contraseña no se puede recuperar; se debe dar / generar una nueva contraseña.

Edita Me gusta lo que dijo Cory sobre no mostrar si el nombre de usuario existe, pero me pregunto qué mostrar en su lugar. Creo que la mitad del problema es que el usuario olvidó qué dirección de correo electrónico utilizó, por lo que mostrar algún tipo de mensaje "no existe" es útil. ¿Alguna solución?

Respuestas a la pregunta(7)

Su respuesta a la pregunta