【发布时间】:2017-08-18 12:53:11
【问题描述】:
简介
点击此链接https://hyperledger.github.io/composer/integrating/enabling-rest-authentication.html,我有一个以安全模式运行的超级账本环境
如果我按照文档中指定的方式进行身份验证(直接从浏览器点击http://mydomain:3000/auth/github)然后从http://mydomain:3000/explorer 访问Rest API 并可以授权为各种参与者(即,颁发身份并将其添加到钱包中并一次将其设置为默认值),并且可以根据 .acl 文件查看资产。
问题
但是当我开始从我的网络应用程序而不是直接从浏览器集成 Rest API 时,我开始遇到问题。作为我的网络应用程序的第一步,我调用http://mydomain:3000/auth/github 进行身份验证,然后开始调用其他API(事务/列表等),但我总是得到
错误 401:“需要授权”
我尝试过的
在超级账本的 env 变量中将我的 Web 应用程序 URL 作为“重定向 URL”。在成功验证(调用http://mydomain:3000/auth/github)后,它成功重定向到我的 webapp 主页,但之后访问 Rest API(从 web 应用程序)再次抛出“需要授权”错误。
环境变量如下:
export COMPOSER_PROVIDERS='{
"github": {
"provider": "github",
"module": "passport-github",
"clientID": "CLIENT_ID",
"clientSecret": "CLIENT_SECRET",
"authPath": "/auth/github",
"callbackURL": "/auth/github/callback",
"successRedirect": "http://localhost:8080/home.html",
"failureRedirect": "/"
}
}'
在我的 Web 应用程序中加入passport-github2 机制(即,将我的应用程序注册到 github 的 oauth 中)并成功登录我的 Web 应用程序;调用http://mydomain:3000/auth/github 对区块链进行身份验证,但它也没有成功。
我有几个问题:
- 是否可以从另一个 Web 应用程序调用安全的超级账本 Rest API?
- 如果是,该怎么做?我在超级账本作曲家文档中找不到该信息。
已经尝试了一周,但没有任何答案。任何帮助将不胜感激。如果有任何不清楚的地方,请告诉我。谢谢。
【问题讨论】:
标签: node.js hyperledger passport.js hyperledger-composer passport-github2