Keycloak 节点oidc提供程序(用于KeyClope)

Keycloak 节点oidc提供程序(用于KeyClope),keycloak,openid-connect,oidc-provider,Keycloak,Openid Connect,Oidc Provider,我正在尝试使用一个基本节点oidc提供程序应用程序作为我的KeyClope服务器的oidc提供程序 KeyClope正确链接到我的应用程序的登录页面。 在输入用户名和密码后,我被正确地传输回KeyClope 然而,KeyClope than说“在使用身份提供程序进行身份验证时出现意外错误” 编辑:我调整了KeyClope日志级别,现在我看到以下错误: 无法使标识提供程序oauth回调:org.keydepot.broker.provider.IdentityBrokerException:没有

我正在尝试使用一个基本节点oidc提供程序应用程序作为我的KeyClope服务器的oidc提供程序

KeyClope正确链接到我的应用程序的登录页面。 在输入用户名和密码后,我被正确地传输回KeyClope

然而,KeyClope than说“在使用身份提供程序进行身份验证时出现意外错误”


编辑:我调整了KeyClope日志级别,现在我看到以下错误:

无法使标识提供程序oauth回调:org.keydepot.broker.provider.IdentityBrokerException:没有来自服务器的访问令牌


我的应用程序如下所示:

const express=require('express');
const Provider=require('oidc-Provider');
常量app=express();
常量客户端=[
{
客户id:“我的客户”,
客户_机密:“,
授权类型:[“授权代码”],
响应类型:[“代码”],
重定向\u URI:['http://localhost:8080/auth/realms/master/broker/oidc/endpoint'],
令牌\端点\身份验证\方法:“无”
}
];
const oidc=新提供程序('http://localhost:3001', {
异步findById(ctx,id){
返回{
帐户id:id,
异步声明(){return{sub:id};},
};
}
});
初始化({
客户:客户,,
密钥库:{
关键点:[
{
kty:“RSA”,
kid:“zid身份验证密钥”,
使用:“sig”,
p:“,
q:“,
d:“,
e:“AQAB”,
齐:",,
dp:“,
dq:“,
n:“
}
]
}
}).然后(函数(){
app.use('/',oidc.callback);
app.listen(3001);

});
您必须将
令牌\u端点\u身份验证\u方法
配置为KeyClope实际使用的正确方法值。如果为方法设置为
none

的客户机提供机密,则oidc提供程序将无法通过客户机身份验证。是,就是这样。客户端加密是密钥伪装的正确方法。谢谢。