如何绕过Keycloak登录表单直接跳转到IDP登录?

2024-05-18

我正在运行saml-经纪人身份验证 https://github.com/keycloak/keycloak/tree/3.2.1.Final/examples/broker/saml-broker-authentication例子。我在 UI 中看到的第一件事是一个用户/通行证,其中包含使用代理的选项(下图)。

有没有办法跳过此表格并直接前往 IDP?

单击其中一个 IDP 后,我会得到如下 URL:http://localhost:8080/auth/realms/saml-broker-authentication-realm/broker/sanity-idp/login?client_id=saml-broker-authentication&code=<keycloak generated>

我尝试直接使用以下网址(不带代码),但出现错误。 (http://localhost:8080/auth/realms/saml-broker-authentication-realm/broker/sanity-idp/login?client_id=saml-broker-authentication)

知道如何绕过 Keycloak 身份验证并通过 SP(经纪人)直接转到 IDP 吗? Thanks.

UPDATE:我的TL找到了一个静态解决方案,将IDP ID放在浏览器的身份验证流程中Identity Provider Redirector执行。但是,我们正在努力寻找一种动态的方法来做到这一点。看着kc_idp_hint 文档 http://www.keycloak.org/docs/3.2/server_admin/topics/identity-broker/suggested.html但找不到使 saml-broker-authentication 示例与其一起使用的方法:(


正如您所提到的,您可以通过为整个领域设置默认身份提供商来绕过 Keycloak 屏幕并直接访问 IdP:

可以自动重定向到身份提供商,而不是显示登录表单。要启用此功能,请转至验证在管理控制台页面并选择Browser流动。然后点击配置身份提供商重定向器验证器。放默认身份提供商要将用户自动重定向到的身份提供商的别名。

(https://www.keycloak.org/docs/latest/server_admin/index.html#default_identity_provider https://www.keycloak.org/docs/latest/server_admin/index.html#default_identity_provider)

不幸的是,这是针对整个领域的,不能动态设置或按 SP 设置。kc_idp_hint似乎是解决方案,但它仅适用于 OIDC:

OIDC 应用程序可以通过指定要使用哪个身份提供商的提示来绕过 Keycloak 登录页面。

这是通过设置来完成的kc_idp_hint授权代码流授权端点中的查询参数。

(https://www.keycloak.org/docs/latest/server_admin/#_client_suggested_idp https://www.keycloak.org/docs/latest/server_admin/#_client_suggested_idp)

似乎有一个要添加的功能请求kc_idp_hint对 SAML 的支持,但仍未解决:

https://issues.jboss.org/browse/KEYCLOAK-4884 https://issues.jboss.org/browse/KEYCLOAK-4884

作为解决方法,您可以创建一个新领域并为该领域设置默认身份提供程序。这样,如果您有需要代理到不同 IdP 的 SP,您可以将它们设置在适当的领域中。

缺点是每个领域都充当自己的 IdP,因此它有自己的实体 ID、公钥等。实际上,您每次都必须重新设置 SP,才能将其默认为不同的 IdP。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何绕过Keycloak登录表单直接跳转到IDP登录? 的相关文章

随机推荐