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