gpt4 book ai didi

mongodb - 用于 hyperledger composer API 的 Passport JWt 身份验证

转载 作者:可可西里 更新时间:2023-11-01 10:45:53 25 4
gpt4 key购买 nike

call back for access token我正在寻找一种解决方案来为 hyperledger composer REST API 实现 passport jwt 身份验证策略。我已点击此链接设置护照认证 https://www.codementor.io/gangachris125/passport-jwt-authentication-for-hyperledger-composer-rest-server-jqfgkoljn .

生成 hyperledger composer API,创建 composer rest server docker 容器,API 受到保护,除了访问 token 生成,如何检索该 token 外,一切似乎都正常工作。

我还创建了另一个带有 passport jwt 的 nodejs 应用程序,添加了几个用户的 mongodb。我能够从该应用程序成功生成 token 并使用该 token 保护任何快速路由。

但我的挣扎点是如何为 composer rest server API 生成 token

正如我在许多文章中所解释的那样,我创建了自定义 jwt,环境变量如下

自定义jwt

const passportJwt = require('passport-jwt');
const util = require('util');

function CustomJwtStrategy(options, verify) {
options.jwtFromRequest = passportJwt.ExtractJwt.fromAuthHeaderAsBearerToken();
passportJwt.Strategy.call(this, options, verify);
}

util.inherits(CustomJwtStrategy, passportJwt.Strategy);

module.exports = {
Strategy: CustomJwtStrategy
};

环境变量

COMPOSER_CARD=admin@tutorial-network
COMPOSER_NAMESPACES=never
COMPOSER_AUTHENTICATION=true
COMPOSER_MULTIUSER=true
COMPOSER_PROVIDERS='{
"jwt": {
"provider": "jwt",
"module": "/home/composer/node_modules/custom-jwt.js",
"secretOrKey": "admin",
"authScheme": "saml",
"successRedirect": "/",
"failureRedirect":"/"
}
}'
COMPOSER_DATASOURCES='{
"db": {
"name": "auth",
"connector": "mongodb",
"host": "mongo"
}
}'

composer rest server logs on startup

现在我应该从哪里生成 token ,如何检索该 token ,以便我可以捕获它并将其传递到 hyperledger composer 业务 API 的 header 中。

请提供详细信息。

最佳答案

可以使用node js生成的token。您需要注意的一件事是您必须在此处使用相同的 "secretOrKey": "admin" 您在节点 js 中生成 token 的自定义 key

在使用 options.jwtFromRequest =passportJwt.ExtractJwt.fromAuthHeaderAsBearerToken(); 时,如图所示发出请求。它会将 access_token 存储在 cookie 中。然后您可以从 cookie 中检索它以供进一步使用。

enter image description here

关于mongodb - 用于 hyperledger composer API 的 Passport JWt 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52524471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com