middleware('guest'); } public function showLegacyResetForm(Request $request): mixed { if ($request->missing('guid')) { return redirect()->route('password.request')->with('error', 'No reset code provided.'); } $user = User::findByResetGuid((string) $request->input('guid')); if ($user === null) { return redirect()->route('password.request')->with('error', 'Bad reset code provided.'); } // Check if user is soft deleted if ($user->trashed()) { return redirect()->route('password.request')->with('error', 'This account has been deactivated.'); } $token = Password::broker()->createToken($user); User::updatePassResetGuid($user->id, null); return redirect()->route('password.reset', [ 'token' => $token, 'email' => $user->email, ]); } public function reset(Request $request): mixed { $request->validate([ 'token' => ['required', 'string'], 'email' => ['required', 'email'], 'password' => ['required', 'confirmed', PasswordRule::defaults()], ]); $status = Password::broker()->reset( $request->only('email', 'password', 'password_confirmation', 'token'), function (User $user, string $password): void { $user->forceFill([ 'password' => Hash::make($password), 'remember_token' => Str::random(60), 'resetguid' => null, ])->save(); event(new PasswordReset($user)); }, ); if ($status === Password::PASSWORD_RESET) { return redirect()->route('login')->with('success', __($status)); } return back() ->withInput($request->only('email')) ->withErrors(['email' => __($status)]); } public function showResetForm(Request $request, mixed $token = null): mixed { return view('auth.passwords.reset')->with([ 'token' => $token, 'email' => $request->email, ]); } }