validated('login'); $password = $request->validated('password'); $isEmail = filter_var($login, FILTER_VALIDATE_EMAIL); $email = $isEmail ? $login : User::whereRaw('LOWER(username) = ?', [strtolower($login)])->value('email'); $credentials = ['email' => $email, 'password' => $password]; $remember = config('auth-ui.features.remember_me') ? $request->boolean('remember') : false; $provider = Auth::getProvider(); $user = $credentials['email'] ? $provider->retrieveByCredentials($credentials) : null; if (! $user || ! $provider->validateCredentials($user, $credentials)) { throw ValidationException::withMessages([ 'login' => __('auth.failed'), ]); } if (config('hashing.rehash_on_login', true) && method_exists($provider, 'rehashPasswordIfRequired')) { $provider->rehashPasswordIfRequired($user, $credentials); } if ($twoFactor->requiredFor($user)) { return $twoFactor->begin($request, $user, $remember); } Auth::login($user, $remember); $request->session()->regenerate(); return redirect()->intended(config('auth-ui.redirects.login', '/')); } /** * Destroy an authenticated session. */ public function destroy(Request $request): RedirectResponse { Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect(config('auth-ui.redirects.logout', '/')); } }