validate(['email' => ['required', 'email']]); $status = Password::sendResetLink(['email' => strtolower($request->email)]); return $status === Password::RESET_LINK_SENT ? back()->with('status', __($status)) : back()->withErrors(['email' => __($status)]); } public function resetForm(Request $request, string $token) { return view('auth.reset-password', ['token' => $token, 'email' => $request->query('email')]); } public function reset(Request $request) { $data = $request->validate(['token' => ['required'], 'email' => ['required', 'email'], 'password' => ['required', 'confirmed', PasswordRule::min(12)->letters()->mixedCase()->numbers()]]); $status = Password::reset($data, function (User $user, string $password) { $user->forceFill(['password' => $password, 'remember_token' => Str::random(60)])->save(); event(new PasswordReset($user)); }); return $status === Password::PASSWORD_RESET ? redirect()->route('login')->with('status', __($status)) : back()->withErrors(['email' => __($status)]); } }