介绍
通过以下链接https://hyperledger.github.io/composer/integrating/enabling-rest-authentication.html,我有一个以安全模式运行的超级账本环境
如果我按照文档中指定的方式进行身份验证(http://mydomain:3000/auth/github
直接从浏览器中点击),然后从 访问 Rest APIhttp://mydomain:3000/explorer
并可以授权为各种参与者(即,颁发身份并将其添加到钱包并将其设置为默认值),它工作正常一次)并且可以根据 .acl 文件查看资产。
问题
但是当我开始从我的 Web 应用程序而不是直接从浏览器集成 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": "/"
}
}'
passport-github2
在我的 Web 应用程序中加入机制(即,使用 github 的 oauth 注册我的应用程序)并成功登录我的 Web 应用程序;调用http://mydomain:3000/auth/github
来对区块链进行身份验证,但它也没有成功。
我有几个问题:
- 从另一个 Web 应用程序调用安全的超级账本 Rest API 是否可行?
- 如果是,该怎么做?我在超级账本作曲家文档中找不到该信息。
已经尝试了一个星期,但没有答案。任何帮助将不胜感激。如果有任何不清楚的地方,请告诉我。谢谢。