email)->first(); if (!$user || !Hash::check($request->password, $user->password)) { return response()->json([ 'error' => '無效的憑證或帳戶未激活。' ], 401); } if ($user->status !== User::STATUS_ACTIVE) { return response()->json([ 'error' => '帳戶尚未激活。' ], 401); } $token = $user->createToken('auth_token')->plainTextToken; return response()->json([ 'token' => $token, 'expires_in' => config('sanctum.expiration') * 60 // 轉換為秒 ]); } public function logout(): JsonResponse { auth()->user()->currentAccessToken()->delete(); return response()->json([ 'message' => '已成功登出。' ]); } }