【问题标题】:Hyperledger Composer :error Authenticating to the REST serverHyperledger Composer:错误向 REST 服务器进行身份验证
【发布时间】:2017-06-29 01:13:42
【问题描述】:

我一直在关注这个 Hyperledger Composer 教程 here 并且当我尝试通过 http://localhost:3000/auth/github 向其余服务器进行身份验证时,我没有被重定向到 GitHub 站点以执行 OAuth Web 服务器身份验证流程。我收到的是 404 错误消息,而不是重定向。 预期行为

根据 Composer 教程,我希望被重定向到 Github 站点以执行 OAuth。 实际行为

当我输入 http://localhost:3000/auth/github 时,出现 404 错误

我的环境:

码头工人--版本 Docker 版本 17.03.1-ce,构建 c6d412e

docker-compose --version docker-compose 版本 1.13.0,构建 1719ceb

节点--版本 v6.11.0

添加更多细节以供参考...

[

编辑:

这是完整的错误堆栈跟踪:

请求 GET /explorer/auth/github 的未处理错误:错误:无法 GET /explorer/auth/github 在 raiseUrlNotFoundError (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/loopback/server/middleware/url-not-found.js:21:17) 在 Layer.handle [as handle_request] (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5 ) 在 trim_prefix (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) 在下一个(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15 在下一个(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:260:14) 在 Function.handle (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:174:3) 在路由器(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:47:12) 在 Layer.handle [as handle_request] (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5 ) 在 trim_prefix (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) 在 Immediate.next (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) 在立即。 (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15) 请求 GET /explorer/auth/github 的未处理错误:错误:无法 GET /explorer/auth/github 在 raiseUrlNotFoundError (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/loopback/server/middleware/url-not-found.js:21:17) 在 Layer.handle [as handle_request] (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5 ) 在 trim_prefix (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) 在下一个(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15 在下一个(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:260:14) 在 Function.handle (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:174:3) 在路由器(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:47:12) 在 Layer.handle [as handle_request] (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5 ) 在 trim_prefix (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) 在 Immediate.next (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) 在立即。 (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15) 请求 GET /explorer/auth/github 的未处理错误:错误:无法 GET /explorer/auth/github 在 raiseUrlNotFoundError (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/loopback/server/middleware/url-not-found.js:21:17) 在 Layer.handle [as handle_request] (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5 ) 在 trim_prefix (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) 在下一个(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15 在下一个(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:260:14) 在 Function.handle (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:174:3) 在路由器(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:47:12) 在 Layer.handle [as handle_request] (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5 ) 在 trim_prefix (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) 在 Immediate.next (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) 在立即。 (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15) 请求 GET /explorer/auth/github 的未处理错误:错误:无法 GET /explorer/auth/github 在 raiseUrlNotFoundError (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/loopback/server/middleware/url-not-found.js:21:17) 在 Layer.handle [as handle_request] (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5 ) 在 trim_prefix (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) 在下一个(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15 在下一个(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:260:14) 在 Function.handle (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:174:3) 在路由器(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:47:12) 在 Layer.handle [as handle_request] (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5 ) 在 trim_prefix (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) 在 Immediate.next (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) 在立即。 (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15) 请求 GET /explorer/auth/github 的未处理错误:错误:无法 GET /explorer/auth/github 在 raiseUrlNotFoundError (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/loopback/server/middleware/url-not-found.js:21:17) 在 Layer.handle [as handle_request] (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5 ) 在 trim_prefix (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) 在下一个(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15 在下一个(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:260:14) 在 Function.handle (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:174:3) 在路由器(/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:47:12) 在 Layer.handle [as handle_request] (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/layer.js:95:5 ) 在 trim_prefix (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:317:13) 在/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:335:12) 在 Immediate.next (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:275:10) 在立即。 (/home/brankoterzic/.nvm/versions/node/v6.11.1/lib/node_modules/composer-rest-server/node_modules/express/lib/router/index.js:635:15)

【问题讨论】:

  • 我怀疑您在某处有错误的配置问题。你能发布更多信息吗?
  • 嗨,丹,根据文档,在启动 composer server..export COMPOSER_PROVIDERS='{ "github": { "provider": "github", "module": "护照-github”,“clientID”:“005a2f35918f55975961”,“clientSecret”:“d7de9359c496108e07903b3f3f3c3f503130fbf4”,“authPath”:“/auth/github”,“callbackURL”:“localhost:3000/auth/github/callback”,“successRedirect”:“/”, "failureRedirect": "/" } }'

标签: oauth hyperledger-composer


【解决方案1】:

检查您的 github 帐户是否是私有的。我创建了一个新的 github 帐户,它可以工作。也使用最新的命令:

composer-rest-server -p hlfv1 -n my-network -i admin -s adminpw -a 真的

而不是 -S one

祝你好运!

【讨论】:

    【解决方案2】:

    在您的 COMPOSER_PROVIDERS 节中 - 特别是 callbackURL 设置 - 您不需要 localhost:3000 - 您只需要文档中显示的 URL 路径为“/auth/github/callback”:https://hyperledger.github.io/composer/integrating/enabling-rest-authentication.html。 REST 服务器将处理……其余的……然后停止并重新启动作曲家 REST 服务器composer-rest-server -p hlfv1 -n my-network -i admin -s adminpw -S true 等 - 从导出配置变量 COMPOSER_PROVIDERS 的命令行(上图)。干杯保罗

    【讨论】:

    • 仍然面临同样的问题,我想通过命令行简单地导出一个变量是行不通的。任何线索我们在这里有不同的选项来确保这个配置被选中?
    • 遇到同样的问题,请问有进展吗?
    • 你能把你的 COMPOSER_PROVIDERS 节贴在代码块中吗?需要看评论,谢谢。
    • 另外,在启用 REST 身份验证之前,我的 API 根是这样的:localhost:3000/api/User。启用它后,当我尝试使用相同的 API 时,我得到了与问题中发布的相同的错误。然后我发布了,该 API 更改为 localhost:3000/api/com.myapp.User,点击此按钮后,无需身份验证即可获得 200 ok 答案。
    • 这里是 COMPOSER-PROVIDERS env: { "github": { "provider": "github", "module": "passport-github", "clientID": "714035408fe6f0274c06", "clientSecret" :“b03490c40d8eea219ff312b1b8f95b37630e43f6”,“authPath”:“/auth/github”,“callbackURL”:“/auth/github/callback”,“successRedirect”:“/”,“failureRedirect”:“/”} }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 2019-03-16
    • 2020-01-15
    • 2012-09-06
    相关资源
    最近更新 更多