gpt4 book ai didi

node.js - 无法获得授权代码 : Error: self signed certificate in certificate chain

转载 作者:行者123 更新时间:2023-12-05 05:14:21 31 4
gpt4 key购买 nike

我正在尝试访问受 Keycloak 保护的 url - /hello 在浏览器中。该 url 由 node.js 应用程序提供following code 引发此错误:

在执行以下操作之后:

1)将客户端和用户添加到keycloak到KeyCloak master realm

2) 保护 express node.js 应用程序的 url:

var Keycloak = require('keycloak-connect');

let kcConfig = {
clientId: 'test_ui',
// secret : "d31c4718-12e9-407b-9bf2-cb72734a23f0",
public: true,
serverUrl: https://127.0.0.1/auth,
resource: "test_ui",
realm: 'master'
}
var session = require('express-session');
var memoryStore = new session.MemoryStore()

var keycloak = new Keycloak( {store : memoryStore}, kcConfig);

this.app.use(session({
secret: 'mySecret',
// resave: false,
// saveUninitialized: true,
store: memoryStore
}));

this.app.use( keycloak.middleware() );
this.app.get( '/hello', keycloak.protect());

3) 在浏览器中访问 protected url,被重定向到 Keycloak 登录屏幕,进行身份验证...然后弹出错误。

在 wireshark 中可以看到以下请求序列:

/auth/realms/master/protocol/openid-connect/auth?client_id=test_ui&state=504b250d-8616-4685-8c8d-5032713c883a&redirect_uri=https://127.0.0.1/hello/auth_callback&scope=openid&response_type=code

登录界面验证后:

/auth/realms/master/login-actions/authenticate?session_code=TwhsWxUig85PFHfiv-31OTHQl3aApD6z0lMdOr8hgDc&execution=d58a2cad-2be2-4797-b35a-d7b606945b14&client_id=test_ui&tab_id=ywQfz51qnM0

我考虑过将 sslRequired: "none" 添加到 kcConfig,但是这样做似乎没有效果。也尝试使用 secret 客户端而不是公共(public)客户端,但无济于事。

package.json 内容:

"express": "4.16.2",
"keycloak-connect" : "4.3.0",
"express-session" : "1.15.6"

使用Keycloak 4.3。

问题的原因是什么以及如何修复此错误?

更新

添加了process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";response 之后的 node.js 应用程序在 Keycloak 邮件列表中,现在出现错误:

Could not obtain grant code: 401:Unauthorized

最佳答案

如引用的邮件列表中所述:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0

很有魅力。

关于node.js - 无法获得授权代码 : Error: self signed certificate in certificate chain,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52611788/

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