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
。现在,当公共客户端使用OIDC Discovery Endpoint通过domain2.company.com
访问Keycloak时,它们将获得 authorization_endpoint 作为https://domain1.company.com/auth/realms/{realm-name}/protocol/OpenID-connect/auth
,由于单独的VPN无法访问。
Keycloak通过仅允许使用一个前端URL值,假设服务器只能通过一个公共URL进行访问,而在我们的示例中可能并非如此。
是否有解决此问题的方法?