如何解决使用内部kubernetes密钥斗篷服务地址配置时,密钥斗篷-nodejs-connect GrantManager无法验证令牌
在使用部署到kubernetes集群的keycloak-nodejs-connect库验证令牌时,我遇到一个问题-特别是在将内部kubernete的keycloak服务地址用作auth-server-url时。我正在使用10.0.1版的keycloak。
我们的工作流程如下-我们的Web应用程序通过公共keycloak客户端进行身份验证以获得访问令牌。该令牌附加到对数据库的数据请求。 db(hasura)在允许访问其数据之前,使用auth挂钩来验证令牌。此身份验证挂钩实现keycloak-nodejs-connect库,并通过提供的middleware调用GrantManager的validatetoken
。但是,当连接库配置有kubernete的服务地址(http:// keycloak:8080 / auth /)时,由于JWT令牌(iss
中的issuer属性,保证在issuer match上出错。将是在密钥斗篷服务器(https://keycloak.public.address.uk/auth/)中配置的前端URL。
是否有一种方法可以向keycloak-nodejs-connect库提供前端和后端url,以便在使用后端url通过kubernete的服务与keycloak对话时可以进行发行者验证-或者我应该配置keycloak a某种方式使发行人与众不同?我特别需要在这里使用kubernete的服务地址,而不是公用地址来进行群集中的密钥斗篷通信。
- nodejs connect server url config (note only one url available used for both keycloak server communication and issuer validation)
- Where the config is applied
- Where the token issuer is validated against the configured keycloak auth server
- Keycloak server's front end url
- One example of how the issuer is set to the frontend url when the token is being generated
非常感谢您的帮助, 安迪。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。