From 06c5b6e245d5b31baf3b2b2346700fc8c69455b5 Mon Sep 17 00:00:00 2001 From: "iVampireSP.com" Date: Mon, 6 Mar 2023 19:03:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E5=BF=AB=E9=80=9F?= =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Web/AuthController.php | 23 +++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/app/Http/Controllers/Web/AuthController.php b/app/Http/Controllers/Web/AuthController.php index f26ca1e..4cb22e8 100644 --- a/app/Http/Controllers/Web/AuthController.php +++ b/app/Http/Controllers/Web/AuthController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\Web; use App\Http\Controllers\Controller; +use App\Models\User; use App\Notifications\User\UserNotification; use function back; use function config; @@ -179,4 +180,26 @@ public function storeAuthRequest(Request $request): RedirectResponse|View return redirect()->route('index')->with('success', '登录请求已确认。'); } + + public function fastLogin(string $token): RedirectResponse + { + $cache_key = 'session_login:'.$token; + $user_id = Cache::get('session_login:'.$token); + + if (empty($user_id)) { + return redirect()->route('index')->with('error', '登录请求的 Token 不存在或已过期。'); + } + + $user = User::find($user_id); + + if (empty($user)) { + return redirect()->route('index')->with('error', '无法验证。'); + } + + Auth::guard('web')->login($user); + + Cache::forget($cache_key); + + return redirect()->route('index'); + } }