2

我的 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": {}
}

我从客户端配置下的安装选项卡下载。

脚步:

  1. 转到 /secure URL,它会重定向到 keycloak 服务器登录页面
  2. 插入用户名(电子邮件)和密码并登录
  3. 被重定向回我的本地主机,但访问被拒绝 403

无论我使用的是机密还是不记名,我都会拒绝访问。我可以通过 Postman/curl 进行身份验证并获取令牌(持有者),还可以重定向到 Keycloack 登录页面并插入凭据,但我被拒绝访问。

在我的开发服务器控制台上,我得到这个:无法获得授权代码:错误:授权验证失败。原因:无效令牌(错误的受众)

4

0 回答 0