container = $container; } public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { try { // 根据具体业务判断逻辑走向,这里假设用户携带的token有效 $token = $request->getHeaderLine('Authorization') ?? ''; if (strlen($token) > 0) { $token = JWTUtil::handleToken($token); if ($token == false || !$this->jwt->checkToken($token)) { return ApiResource::failed(1005); } $authId = $token->getClaim('authId'); $user = User::where('id', $authId)->where(['enable'=> 'T'])->first(); if(!$user){ return ApiResource::failed(1029); } }else{ return ApiResource::failed(1010); } } catch (\Exception $exception){ throw new TokenValidException(__('api.1006'), 401); } return $handler->handle($request); } }