Necesito implementar una función de restablecimiento de contraseña para un sistema que será controlado por un par de preguntas y respuestas de seguridad. El problema es que no puedo garantizar que tenga una dirección de correo electrónico válida o un número de celular para la cuenta que puedo usar para comunicar un enlace o código de restablecimiento. Esto significa que todo el proceso sucederá en la página web. tendré una dirección de correo electrónico conocida para el usuario, pero es una dirección emitida por el sistema en primer lugar, lo que significa que el hecho de que alguien esté usando esta función puede implicar que no. Ya no tengo acceso a esa cuenta.
En esta circunstancia, parece que la respuesta de seguridad se convierte efectivamente en una contraseña alternativa, ya que saber la pregunta (planeo exigirle que seleccione la pregunta correcta de una lista también) y la respuesta para una cuenta son las mismas Como saber la contraseña. Esto me hace pensar que necesitaría tener el mismo tipo de requisitos de complejidad para la respuesta de seguridad que hace para una contraseña. Sin embargo, no recuerdo haber visto esto implementado. Si me he topado con los requisitos, generalmente es algo simple, como al menos 3 caracteres, solo para asegurarte de poner algo verificable en el campo. También confían en el hecho de que enviar el código a una ubicación registrada en lugar de la complejidad adicional.
Planeo mitigar esto también enviando un correo electrónico al finalizar, o cuando la sesión expira en caso de falla, y limitando el número de intentos en un período de tiempo determinado. El administrador del sistema tiene la capacidad de hacer un restablecimiento manualmente, sin saber la pregunta / respuesta o la contraseña original, por lo que no puedo perder el control de la cuenta. Pero parece que todavía me falta algo. ¿Cómo debo manejar esto?