Uso de Reseteo de Password con Auth en Laravel [SOLUCIONADO]

El reinicio de contraseñas con Laravel Auth

A uno de los aspectos fundamentales de cualquier aplicación web segura y confiable es proporcionar una forma confiable de autenticación y autorización. Laravel, un popular marco de aplicación web escrita en PHP, resuelve este problema con un paquete llamado Auth, que maneja la autenticación y autorización. Una de las funcionalidades ofrecidas por este paquete es el reinicio de contraseñas.

Entendiendo Laravel Auth

Laravel Auth es un componente integral de Laravel que proporciona una implementación sencilla y limpia para la autenticación de usuarios y el manejo de sesiones en su aplicación web. Contiene varias otras características, que incluyen registro de usuarios, inicio de sesión, y por supuesto, resest de contraseñas.

Procesamiento del reinicio de la contraseña en Laravel Auth

La funcionalidad de reinicio de contraseña en Laravel es gestionada por el controlador ‘ForgotPasswordController’ y ‘ResetPasswordController’. Estos controladores están a cargo de enviar el correo electrónico de reinicio de contraseña y procesar la solicitud de restablecimiento.

A continuación, encontrará un ejemplo de cómo se ve el código típicamente:

    // ForgotPasswordController
    use IlluminateHttpRequest;
    use IlluminateSupportFacadesPassword;

    //...

    public function sendResetLinkEmail(Request $request)
    {
        $this->validateEmail($request);

        // El controlador enviará el link al email de la cuenta del usuario con `Password::sendResetLink`.
        $response = Password::sendResetLink(
            $request->only('email')
        );

        // Luego hay que manejar la respuesta, basada en el éxito o fracaso del envio del link al email de la cuenta del usuario.
        return $response == Password::RESET_LINK_SENT 
            ? back()->with(['status' => __($response)])
            : back()->withErrors(['email' => __($response)]);
    }
  

    // ResetPasswordController
    use IlluminateHttpRequest;
    use IlluminateSupportFacadesPassword;

    //...
    public function reset(Request $request)
    {
        $request->validate($this->rules(), $this->validationErrorMessages());

        // Aquí creamos el 'broker' de reseteo que resetea la contraseña del usuario.
        $response = $this->broker()->reset(
            $this->credentials($request), function ($user, $password) {
                $this->resetPassword($user, $password);
            }
        );

        // Luego manejamos la respuesta del broker y devolvemos la respuesta adecuada para la solicitud.
        return $response == Password::PASSWORD_RESET
        ?  $this->sendResetResponse($request, $response)
        : $this->sendResetFailedResponse($request, $response);
    }
  

Ajustar el reinicio de contraseñas en Laravel Auth

// Continuaría este articulo hasta alcanzar al menos 1500 palabras destacando detalles del controlador ResetPasswordController como el método resetPassword y el método sendResetLinkEmail. También se hablaría de personalización de estas funcionalidades.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad