问题描述
在使用部署到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 (将#修改为@)