From 0ffe61652dc3a247175517c7ec03c95d038afabf Mon Sep 17 00:00:00 2001 From: "iVampireSP.com" Date: Mon, 6 Mar 2023 19:03:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/UserController.php | 28 +++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/app/Http/Controllers/Api/UserController.php b/app/Http/Controllers/Api/UserController.php index 9667680..9d12709 100644 --- a/app/Http/Controllers/Api/UserController.php +++ b/app/Http/Controllers/Api/UserController.php @@ -5,9 +5,37 @@ use App\Http\Controllers\Controller; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Str; class UserController extends Controller { + public function attempt(Request $request): JsonResponse + { + $request->validate([ + 'name' => 'nullable|string', + ]); + + $credentials = $request->only(['email', 'password']); + + if (! auth()->attempt($credentials)) { + return $this->error('Invalid credentials', 401); + } + + $token = auth()->user()->createToken($request->input('name', 'Api Login'))->plainTextToken; + + return $this->success(['token' => $token]); + } + + public function session(): JsonResponse + { + $random = Str::random(64); + + Cache::put('session_login:'.$random, auth()->user()->id, 60); + + return $this->success(['url' => route('auth.fast-login', ['token' => $random])]); + } + public function index(Request $request): JsonResponse { $user = $request->user()->load('user_group');