# Reset Password

An email is sent to the user's address to help him reset his password.

The user can access the reset password page by clicking the button found in the email. The link for resetting the password is available for 12 hours and is unique for the user. The user must add the email, the password and confirm the password for his password to be updated.

The `App/Http/Controllers/ChangePasswordController.php` helps the user reset the password.

Copy

                    public function changePassword(Request $request)
                    {

                        $request->validate([
                            'token' => 'required',
                            'email' => 'required|email',
                            'password' => 'required|min:8|confirmed',
                        ]);

                        $status = Password::reset(
                            $request->only('email', 'password', 'password_confirmation', 'token'),
                            function ($user, $password) {
                                $user->forceFill([
                                    'password' => Hash::make($password)
                                ])->setRememberToken(Str::random(60));

                                $user->save();

                                event(new PasswordReset($user));
                            }
                        );

                        return $status === Password::PASSWORD_RESET
                                    ? redirect('/login')->with('status', __($status))
                                    : back()->withErrors(['email' => [__($status)]]);
                    }