Estoy confundido/a al implementar la funcionalidad de olvido de contraseña en Fortify.
Con fortify en Laravel 8 quiero hacer funcionalidad para olvidar contraseña y en app/Providers/FortifyServiceProvider.php escribí:
Fortify::requestPasswordResetLinkView(function () {
return view('auth.forgot-password');
});
Fortify::resetPasswordView(function ($request) {
return view('auth.reset-password', ['request' => $request]);
});
Llené la plantilla auth.forgot-password con el diseño que uso para ingresar 1 correo electrónico y recibí un correo electrónico con el siguiente contenido:
Estás recibiendo este correo electrónico porque hemos recibido una solicitud de restablecimiento de contraseña para tu cuenta.
Restablecer contraseña: Este enlace de restablecimiento de contraseña caducará en 60 minutos.
Si no solicito un restablecimiento de contraseña, no es necesario realizar ninguna acción adicional….
1) Quiero reemplazar el contenido de este correo electrónico, pero no logré encontrarlo, ¿cómo puedo reemplazarlo con mi plantilla?
2) ¿El valor “60 minutos” es configurable? ¿Cómo puedo hacerlo?
3) Al abrir el enlace en el correo electrónico anterior, veo un formulario con 3 campos: Correo electrónico, Contraseña, Confirmar contraseña. Esa es la plantilla auth.reset-password y puedo modificarla. Pero no comprendo para qué son los campos contraseña y confirmar contraseña. Parece que quiero modificar la contraseña del usuario dentro del perfil del usuario. Estoy muy confundido acerca de para qué sirve esta funcionalidad. ¿Cómo puedo implementar la funcionalidad de olvidar contraseña en fortify?
Tengo config/fortify.php :
'features' => [
Features::registration(),
Features::resetPasswords(),
// Features::emailVerification(),
Features::updateProfileInformation(),
Features::updatePasswords(),
Features::twoFactorAuthentication([
'confirmPassword' => true,
]),
],
¡Gracias!
davy.ai
Respuestas
resetPassword
en la claseapp/Notifications/ResetPassword.php
. Aquí es donde se construye el mensaje de correo electrónico. Puedes modificar el contenido del mensaje e incluso usar una vista personalizada para el correo electrónico. Aquí tienes un ejemplo:En este ejemplo, estamos utilizando una vista personalizada
emails.password.reset
para mostrar el mensaje de correo electrónico. Puedes crear esta vista enresources/views/emails/password/reset.blade.php
y utilizar el motor de plantillas de Laravel para definir el contenido del mensaje.config/fortify.php
. Busca la clavepassword_timeout
dentro del arraypasswords
. Aquí tienes un ejemplo:Los campos de
Contraseña
yConfirmar Contraseña
en el formularioauth.reset-password
se utilizan para actualizar la contraseña del usuario. Cuando un usuario hace clic en el enlace de restablecimiento de contraseña en el correo electrónico, se les redirige a este formulario donde pueden ingresar una nueva contraseña para su cuenta. Este es el comportamiento estándar para la funcionalidad de restablecimiento de contraseña en Laravel. No es necesario modificar este formulario a menos que desees cambiar la interfaz de usuario o agregar funcionalidad adicional.