我的 Nodejs-Keycloak 连接有一些问题,即使使用最基本的配置,我也会在身份验证(用户和密码工作,也注册)后拒绝访问。我在 Postman 和浏览器上收到拒绝访问。我遵循了官方指南和这个(Securing Node.js Express REST APIs with Keycloak)以及来自适配器的官方 Github 示例。
我的配置很简单
特快路线:
app.get('/secured', keycloak.protect(), function (req, res) {
res.json({
message: 'secured'
})
})
访问类型:机密
这是我的keycloak.json
{
"realm": "Demo-Realm",
"auth-server-url": "https://<IPADDRESS>/auth/",
"ssl-required": "external",
"resource": "nodejs-microservice",
"verify-token-audience": true,
"credentials": {
"secret": "135442a7-3770-4345-9dd2-cac023b6a918"
},
"use-resource-role-mappings": true,
"confidential-port": 0,
"policy-enforcer": {}
}
我从客户端配置下的安装选项卡下载。
脚步:
- 转到 /secure URL,它会重定向到 keycloak 服务器登录页面
- 插入用户名(电子邮件)和密码并登录
- 被重定向回我的本地主机,但访问被拒绝 403
无论我使用的是机密还是不记名,我都会拒绝访问。我可以通过 Postman/curl 进行身份验证并获取令牌(持有者),还可以重定向到 Keycloack 登录页面并插入凭据,但我被拒绝访问。
在我的开发服务器控制台上,我得到这个:无法获得授权代码:错误:授权验证失败。原因:无效令牌(错误的受众)