从多用户休息服务器运行Hyperldger查询时出现错误“指定了无效或无关的参数access_token”

问题描述 投票:0回答:1

我正在使用基于ldap的身份验证的多用户休息服务器。我可以成功登录,获取访问令牌并执行任意数量的事务。运行此事务的Chaincode也可以运行由我生成的查询。但问题是我在使用相同的访问令牌时无法直接从我的Web浏览器运行此查询。我正面临这样的错误,即在运行查询时access_token是无效的或无关的参数。但是当我尝试在没有访问令牌的情况下运行查询时,它会给出错误“AUTHORIZATION_REQUIRED”,根据我的理解,这是正常的。此查询在单用户休息服务器中运行正常。

使用具有从LDAP生成的访问令牌的多用户休息服务器运行查询时,是否需要执行不同的操作。

“{”error“:{”statusCode“:500,”name“:”Error“,”message“:”2 UNKNOWN:执行链码错误:事务返回失败:错误:指定了无效或无关的参数access_token“, “code”:2,“metadata”:{“_ internal_repr”:{}},“details”:“执行链码错误:事务返回失败:错误:指定了无效或无关的参数access_token”,“stack”:“错误:2 UNKNOWN:执行chaincode时出错:事务返回失败:错误:在新的createStatusError中指定了无效或无关的参数access_token(/home/composer/.npm-global/lib/node_modules/composer-rest-server/ node_modules / grpc / src / client.js:64:15)\ n在/home/composer/.npm-global/lib/node_modules/composer-rest-server/node_modules/grpc/src/client.js:583:15 “}}”

hyperledger-fabric hyperledger-composer
1个回答
0
投票

实际上我们做了一些改变以使其工作实际问题在于我们传递访问令牌的方式。在hyperledger文档中,有两种方法可以传递令牌:

  1. 卷曲-v http://localhost:3000/api/system/ping?access_token=xxxxx
  2. curl -v -H'X-Access-Token:xxxxx'http://localhost:3000/api/system/ping

我使用第一种方法传递访问令牌,我的所有交易都正常工作但查询失败似乎访问令牌传递给查询,它无法识别参数。所以我尝试了第二种方式,并能够运行查询。我假设Hyperleder论坛应该提到这些限制。

© www.soinside.com 2019 - 2024. All rights reserved.