Keycloak 引入了“前端 URL”的概念,为 Keycloak 的前通道和后通道请求启用不同的 URL。
我们有一个用例,其中相同的 Keycloak 服务器通过 Kubernetes 集群中的单独 Nginx 代理通过 2 个公共 URL(超过 2 个相互无法访问的独立 VPN)公开:
domain1.company.com
domain2.company.com
和一个内部 URL:
internal.company.com
问题是我们只能设置一个前端 URL。例如,假设我们将其设置为domain1.company.com
. 现在,当公共客户端通过domain2.company.com
使用 OIDC Discovery Endpoint 访问 Keycloak 时,他们会获得由于单独的 VPN 而无法访问的authorization_endpoint 。https://domain1.company.com/auth/realms/{realm-name}/protocol/OpenID-connect/auth
通过只允许前端 URL 的一个值,Keycloak 假设服务器只能通过一个公共 URL 访问,这可能与我们的示例不同。
有没有解决这个问题的方法?