jwtService = $jwtService; } public function handle(Request $request, Closure $next) { $authHeader = $request->header('Authorization'); if (empty($authHeader)) { $code = HttpStatus::AUTHORIZATION_HEADER_NOT_FOUND; return response()->json([ 'code' => $code, 'timestamp' => time(), 'msg' => __('messages.' . $code), 'data' => [] ]); } $token = str_replace('Bearer ', '', $authHeader); $user = $this->jwtService->validate($token); if ($user) { $request->user = Admin::findOrFail($user->user_id); $request->attributes->set('admin_jwt', $user); // 滑动续期:有操作就顺延空闲失效时间 $this->jwtService->touch($user); //单点登录 // $oldToken = Cache::get("user_{$request->user->getId()}_jwt"); // if ($oldToken !== $token) { // $code = HttpStatus::AUTHORIZATION_HEADER_NOT_FOUND; // return response()->json([ // 'code' => $code, // 'timestamp' => time(), // 'msg' => __('messages.' . $code), // 'data' => [] // ]); // } return $next($request); } $code = HttpStatus::AUTHORIZATION_HEADER_NOT_FOUND; return response()->json([ 'code' => $code, 'timestamp' => time(), 'msg' => __('messages.' . $code), 'data' => [] ]); } }