authenticate(); $request->session()->regenerate(); return redirect()->intended(route(config('uwil-backend.routes.name') . 'dashboard.index', absolute: false)); } /** * Destroy an authenticated session. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\RedirectResponse */ public function logout(Request $request): \Illuminate\Http\RedirectResponse { Auth::guard('backend')->logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return to_route(config('uwil-backend.routes.name') . 'login'); } /** * Display the forgotten password view. * * @return \Inertia\Response */ public function forgotPassword(): \Inertia\Response { return Inertia::render('back/Pages/Auth/ForgotPassword'); } /** * Handle an incoming forgotten password request. * * @param \App\Http\Requests\Auth\ForgotPasswordRequest $request * @return \Illuminate\Http\RedirectResponse */ public function postForgotPassword(ForgotPasswordRequest $request): \Illuminate\Http\RedirectResponse { $validatedData = $request->validated(); $status = Password::broker('backend')->sendResetLink($validatedData); return $status === Password::RESET_LINK_SENT ? to_route(config('uwil-backend.routes.name') . 'login') : back(); } /** * Display the view. * * @param string $token * @return \Inertia\Response */ public function resetPassword(string $token): \Inertia\Response { return Inertia::render('back/Pages/Auth/ResetPassword', [ 'token' => $token, 'email' => request()->query('email', ''), ]); } /** * Handle an incoming resetting password request. * * @param \App\Http\Requests\Auth\ResetPasswordRequest $request * @return \Illuminate\Http\RedirectResponse */ public function postResetPassword(ResetPasswordRequest $request): \Illuminate\Http\RedirectResponse { $status = Password::broker('backend')->reset( $request->validated(), function (User $user, string $password): void { $user->setRememberToken(Str::random(60)); $user->save(); UserPassword::updateOrCreate( ['user_id' => $user->getKey()], ['password' => Hash::make($password)], ); event(new PasswordReset($user)); Mail::send(new ResetPassword($user)); } ); return $status === Password::PASSWORD_RESET ? to_route(config('uwil-backend.routes.name') . 'login') : back(); } }