3

我在使用部署到 kubernetes 集群的 keycloak-nodejs-connect 库验证令牌时遇到问题 - 特别是在使用内部 kubernete 的 keycloak 服务地址作为 auth-server-url 时。我正在使用 keycloak 版本 10.0.1。

我们的工作流程如下 - 我们的 Web 应用程序使用公共 keycloak 客户端进行身份验证以获取访问令牌。此令牌附加到对数据库的数据请求。db (hasura) 在允许访问其数据之前使用 auth hook 来验证令牌。这个身份验证钩子实现了 keycloak-nodejs-connect 库,并通过提供的中间件调用 grantManager 的validateToken. 但是,当使用 kubernete 的服务地址 (http://keycloak:8080/auth/) 配置连接库时,保证在颁发者匹配时出错,因为 JWT 令牌 ( iss) 中的颁发者属性将是在密钥斗篷服务器(https://keycloak.public.address.uk/auth/)。

有没有办法为 keycloak-nodejs-connect 库提供前端和后端 url,以便在使用后端 url 通过 kubernete 的服务与 keycloak 对话时可以进行颁发者验证 - 或者我应该以某种方式配置 keycloak 所以发行人不同?我特别需要在这里使用 kubernete 的服务地址而不是公共地址来进行集群中的 keycloak 通信。

以下源位置超链接尝试在代码中突出显示问题:

非常感谢您的帮助,安迪。

4

0 回答 0