我在Kubernetes中托管了一个Keycloak服务器。当我请求外部身份提供商(例如Google / Facebook)时,主机名会自动在重定向URL中使用。如何更改身份提供商的重定向URL?
从Keycloak自动生成的redirect_url:http://keyclaok:8080/auth/realms/{MY_REALM}/borker/google/endpoint
我期望的是:http://www.example.com/my-custom-callback/endpoint
,此URL将重定向到原始keyclaok端点。
自动生成的redirect_url(在用户界面中显示)与您无关。
[Afaik keycloak只是使用您正在访问keycloak的当前主机名来构建URL。因此,当您通过
访问管理控制台时http://keyclaok:8080/
Google身份提供商的重定向URL显示为
http://keyclaok:8080/auth/realms/{MY_REALM}/broker/google/endpoint
如果您通过域访问密钥斗篷
http://www.example.com/auth
并尝试通过Google进行身份验证,有效的重定向URL为
http://www.example.com/auth/realms/{MY_REALM}/broker/google/endpoint
我认为您无法确定重定向URL的外观(特别是后缀realms/{MY_REALM}/broker/google/endpoint
),因为它与keycloak基本URL有关,并且keycloak在内部需要它来将答案映射到正确的领域和IDP但是我认为,只要可以通过您的域访问密钥斗篷,您就不会对此类网址有任何疑问。