Hyperledger Composer REST服务器的多用户模式会引发401错误

时间:2017-11-14 01:31:58

标签: hyperledger hyperledger-composer

我一直在关注Hyperledger Composer文档中提供的教程,但是我没有得到他应该得到的结果。具体来说,当我尝试为REST服务器启用多用户模式并尝试使用REST API资源管理器调用其中一个业务网络REST API操作时,我总是得到HTTP 401 Authorization Required。根据{{​​3}},如果得到此错误是由于我没有正确地对REST API进行身份验证,但它没有提到为什么会出现此错误或我如何解决它。

对于应用程序开发来说,能够对每个想要向API发出请求的用户进行身份验证非常重要。

2 个答案:

答案 0 :(得分:0)

您使用的是哪种版本的Hyperledger Composer? 您引用的教程/文档对于v0.15.0是正确的,并且对于先前版本的工作方式略有不同。

您是否在浏览器窗口顶部看到访问令牌 - 这表示您已成功通过身份验证,并可继续执行电子钱包的步骤。

如果您没有看到显示的Access令牌,请确保再次使用类似于http://localhost:3000/auth/github的URL点击您的REST服务器并登录。

如果您仍然遇到问题,我建议您返回使用身份验证而不使用多用户模式,并验证身份验证是否可以正常运行。

答案 1 :(得分:0)

经过一番研究,我找到了一个解决方案并为我工作。 如果您已启用Github身份验证,则忽略。否则,请先按照本教程Enaling Authentication启用身份验证。

在启动休息服务器之前,您将使用以下命令从网络导出管理卡:

composer card export -n admin@sample-network -f admincard.card

现在使用此命令启动具有身份验证的休息服务器:

composer-rest-server -c admin@sample-network -p 3000 -a true -m true

休息服务器启动一段时间后。 现在首先,转到此链接进行身份验证:http://localhost:3000/auth/github

成功验证后,您将获得一个访问令牌,您还会看到下面的电子钱包选项。 现在您需要导入已从网络导出的卡。 就是这样,您可以向网络添加任何内容。