通过 2 个公共 URL 公开的 Keycloak 服务器
Posted
技术标签:
【中文标题】通过 2 个公共 URL 公开的 Keycloak 服务器【英文标题】:Keycloak server exposed via 2 public URLs 【发布时间】:2020-09-26 16:22:33 【问题描述】:Keycloak 引入了“前端 URL”的概念,以便为 Keycloak 的前通道和后通道请求启用不同的 URL。
我们有一个用例,其中相同的 Keycloak 服务器通过 Kubernetes 集群中的单独 nginx 代理通过 2 个公共 URL(超过 2 个相互无法访问的独立 ***)公开:
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
,由于单独的 ***,无法访问。
通过只允许前端 URL 的一个值,Keycloak 假设服务器只能通过一个公共 URL 访问,这可能与我们的示例不同。
这个问题有解决办法吗?
【问题讨论】:
【参考方案1】:为您的用例提出了一项增强功能:https://issues.redhat.com/browse/KEYCLOAK-15553
【讨论】:
以上是关于通过 2 个公共 URL 公开的 Keycloak 服务器的主要内容,如果未能解决你的问题,请参考以下文章
如何更改通过 Keycloak 令牌交换创建的访问令牌的内容
是否可以通过 KeyCloak 为一组 webapp 配置 2 个不同的 SSO (AD)?