Keycloak引入了"前端URL"的概念,以便为对Keycloak的前通道和反向通道请求启用不同的URL。
我们有一个用例,通过 Kubernetes 集群中的单独 Nginx 代理通过 2 个公共 URL(超过 2 个彼此无法访问的独立 VPN(公开相同的 Keycloak 服务器:
domain1.company.com
domain2.company.com
和内部网址:
internal.company.com
问题是我们只能设置一个前端 URL。例如,假设我们将其设置为domain1.company.com
.现在,当公共客户端使用 OIDC 发现端点通过domain2.company.com
访问 Keycloak 时,它们会获得authorization_endpoint作为https://domain1.company.com/auth/realms/{realm-name}/protocol/OpenID-connect/auth
,由于单独的 VPN 而无法访问。
通过只允许前端URL的一个值,Keycloak假设服务器只能通过一个公共URL访问,这可能不像我们的示例那样
。这个问题有解决方案吗?
有一个针对您的用例的增强功能:https://issues.redhat.com/browse/KEYCLOAK-15553