Restablecer contraseña
Logto proporciona una funcionalidad integral de restablecimiento de contraseña que permite a los usuarios recuperar de forma segura el acceso a sus cuentas cuando olvidan sus contraseñas o desean cambiarlas. Esta función admite múltiples métodos de verificación, incluyendo correo electrónico y SMS, asegurando que los usuarios puedan recuperar el acceso a través de su canal de comunicación preferido.
Olvidé mi contraseña para recuperación de cuenta
Configuración
Para habilitar la funcionalidad de "olvidé mi contraseña":
-
Configura los conectores: Configura los conectores de Correo electrónico o SMS en Consola > Conectores > Conectores de correo electrónico y SMS
-
Recopila la información de contacto del usuario: Asegúrate de que los usuarios tengan correo electrónico / teléfono registrado durante el registro o mediante la configuración de cuenta
-
Habilita los métodos de verificación:
- Ve a Consola > Inicio de sesión y cuenta > Registro e inicio de sesión
- Habilita Contraseña como método de inicio de sesión
- Añade Código de verificación por correo electrónico y / o Código de verificación por teléfono para Olvidé mi contraseña
-
Guarda y prueba: Guarda los cambios y prueba usando el Live Preview
Flujo de experiencia del usuario
Una vez habilitada la función de restablecimiento de contraseña, se mostrará un botón de enlace "¿Olvidaste tu contraseña?" debajo del formulario de inicio de sesión. Los usuarios pueden hacer clic en el enlace para iniciar el proceso de restablecimiento de contraseña.
- Visitar la página de inicio de sesión: El usuario visita la página de inicio de sesión.
- Clic en el enlace de "¿Olvidaste tu contraseña?": El usuario hace clic en el enlace "¿Olvidaste tu contraseña?".
- Ingresar correo electrónico / teléfono: Tras hacer clic en el enlace, el usuario será redirigido a una nueva página donde podrá ingresar su dirección de correo electrónico o número de teléfono registrado.
- Enviar código de verificación: Logto enviará un código de verificación al correo electrónico o número de teléfono proporcionado y redirigirá a la página de verificación de código.
- Ingresar código de verificación: El usuario ingresa el código recibido en su correo electrónico o teléfono. Logto verificará el código y la identidad del usuario asociada al correo electrónico o número de teléfono.
- Ingresar nueva contraseña: Se solicitará al usuario que ingrese una nueva contraseña una vez que el código de verificación haya sido verificado correctamente.
- Restablecimiento de contraseña exitoso: Si la contraseña proporcionada cumple con los requisitos de la política de contraseñas, la contraseña se actualizará correctamente.
- Redirigir a la página de inicio de sesión: El usuario será redirigido a la página de inicio de sesión para iniciar sesión con la nueva contraseña.
Actualizar contraseña después de iniciar sesión
Los usuarios autenticados pueden cambiar (o establecer inicialmente) su contraseña a través de la experiencia de configuración de cuenta dentro de tu aplicación. Consulta Configuración de cuenta para saber cómo construir esto con la Account API.
Comprobar si el usuario tiene una contraseña
Los datos del usuario exponen un campo booleano hasPassword que indica si el usuario actualmente tiene una credencial de contraseña almacenada.
Puedes obtener hasPassword mediante:
- Management API: por ejemplo,
GET /api/users/:id(incluido en el objeto de usuario) - Reclamos personalizados de token: Inyecta
hasPassworden los tokens de ID / acceso (para que tu frontend pueda adaptar la interfaz sin una llamada API adicional)
Luego llama al endpoint de la Account API para establecer o actualizar la contraseña (consulta la guía de configuración de cuenta para detalles de la solicitud). Para los usuarios que nunca han tenido una contraseña, NO necesitas (ni debes requerir) el campo de contraseña anterior.
Incluso si tus métodos de registro requieren "Establecer una contraseña" para registros por correo electrónico / teléfono / nombre de usuario, los usuarios creados mediante inicio de sesión social puro omiten la creación de contraseña por defecto para reducir la fricción. Estos usuarios tendrán hasPassword = false hasta que establezcan una explícitamente más adelante. Evita forzar la configuración inmediata de contraseña justo después del registro social a menos que lo requiera tu modelo de seguridad: los avisos contextuales y diferidos suelen convertir mejor.
Política de contraseña personalizada
Personaliza la longitud de la contraseña, los requisitos de caracteres y las restricciones de palabras para satisfacer las necesidades de seguridad de tu negocio mientras ofreces una buena experiencia de usuario. Estas configuraciones pueden ajustarse en la sección Seguridad > Política de contraseña. Consulta la documentación de la política de contraseña para saber más.
Preguntas frecuentes
¿Cómo cerrar la sesión de un usuario después de un restablecimiento de contraseña exitoso?
Suscríbete al evento de webhook PostResetPassword (eventos de webhook) para recibir una notificación cuando un usuario restablezca su contraseña con éxito. Luego puedes desencadenar una acción de cerrar sesión para invalidar la sesión actual del usuario y redirigirlo a la página de inicio de sesión.
¿Cómo implementar el flujo de restablecimiento de contraseña en mi interfaz personalizada?
Puedes implementar tu propio flujo de restablecimiento de contraseña utilizando la Management API y la Account API de Logto. Consulta configuración de cuenta para más detalles.
¿Cómo puedo enviar un enlace de restablecimiento de contraseña al correo electrónico del usuario?
Puedes crear un endpoint de restablecimiento de contraseña autoalojado y utilizar el SDK de Logto para iniciar una solicitud de inicio de sesión con first_screen configurado como reset-password. Esto redirigirá al usuario sin problemas a la página de restablecimiento de contraseña.