ChannelCredentials::createInsecure() ]); } parent::__construct($hostname, $opts, $channel); } /** * 调用 ValidateJwtToken 方法 * * @param ValidateJwtTokenReq $request 请求数据 * @param array $metadata 元数据(可选) * @param array $options 调用选项(可选) * * @return ValidateJwtTokenResp */ public function ValidateJwtToken( ValidateJwtTokenReq $request, array $metadata = [], array $options = [] ): ValidateJwtTokenResp { try { // 调试:输出请求数据 // dump('aaa',$request->getJwtToken()); // 调用 GRPC 服务 $unaryCall = $this->_simpleRequest( '/auth.Auth/ValidateJwtToken', // 方法的完整路径 $request, ['\GRPC\Auth\ValidateJwtTokenResp', 'decode'], // 解码器 $metadata, $options ); // 使用 wait() 获取返回值 list($response, $status) = $unaryCall->wait(); // 调试:输出 GRPC 状态码 // dump('2222',$response->getResult(),$response->getClaims(),$status); // 检查请求是否成功 if ($status->code !== \Grpc\STATUS_OK) { throw new \Exception('GRPC call failed with status: ' . $status->details, $status->code); } // 返回解析后的响应数据 return $response; } catch (\Exception $e) { // 捕获异常并打印 dump($e->getMessage()); throw $e; // 继续抛出异常 } } }