【发布时间】:2020-09-26 16:22:33
【问题描述】:
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 发现端点通过 domain2.company.com 访问 Keycloak 时,他们会得到 authorization_endpoint 作为 https://domain1.company.com/auth/realms/{realm-name}/protocol/OpenID-connect/auth,由于单独的 VPN,无法访问。
通过只允许前端 URL 的一个值,Keycloak 假设服务器只能通过一个公共 URL 访问,这可能与我们的示例不同。
这个问题有解决办法吗?
【问题讨论】:
标签: authentication spring-security keycloak keycloak-services keycloak-connect