当前位置: 首页 > 知识库问答 >
问题:

Keycloak:如何仅通过身份提供程序登录

米迪
2023-03-14

我有一个密钥锁代理和两个身份提供者正在运行。目前,我在代理登录屏幕上看到了用户名和密码字段以及指向配置的身份提供者的2个链接。点击IP链接后,可以通过身份提供者登录。

如何禁用/删除用户名/密码字段,因为我只想提供身份提供程序来登录我的客户(无法直接通过代理登录)?

共有2个答案

桓风史
2023-03-14

我不太确定为什么Keycloak不仅在Realm中为此提供配置选项..但事实并非如此。可是。。如果您尚未启用自助注册,那么用户无论如何都无法登录?

我认为您需要创建自己的登录主题,并从主题中删除用户名和密码部分。这可能不像听起来那么难。

周云
2023-03-14

有几个开箱即用的功能可能有效。

如果您只需要一个默认 IdP,则可以为您的领域配置默认身份提供程序。这将绕过 Keycloak 登录页面,并将用户直接重定向到身份提供程序。更多信息: https://www.keycloak.org/docs/latest/server_admin/index.html#default_identity_provider

对于多个标识提供者,这不起作用 - 但可以使用客户端建议的标识提供者功能 (https://www.keycloak.org/docs/latest/server_admin/index.html#_client_suggested_idp)。通过在指向 Keycloak 登录页面的链接上添加kc_idp_hint查询字符串参数,它将绕过登录并直接转到该 IdP。在 Web 应用程序中,可以为每个提供程序构造一组链接或按钮,并将kc_idp_hint添加到其中。但是,这不会阻止聪明的人仍然进入正常的Keycloak登录页面。

创建自己的登录主题可能是最简单的方法,但我想放弃这些选项,以防其他人发现它有用。

 类似资料:
  • 我已经创建了身份提供程序,并且从浏览器中它工作正常。 参考:密钥斗篷身份提供程序后代理登录抛出错误 从浏览器,我可以使用外部IDP登录,如果外部IDP用户不在keycloak中,它会在keyclock中创建,这绝对没问题,并重定向到仪表板。 但我的问题是,我们如何用keycloak rest api实现这个流程? 是否有任何api用于使用外部IDP登录,并将获得外部IDP的令牌以及密钥斗篷的令牌?

  • 我正在尝试创建一个自定义的KeyClope提供程序,它将为登录逻辑添加一些内容。我已经读过如何为KeyClope创建提供者(或插件),我正在与之合作的项目中已经有一个提供者(或插件),但我对它们知之甚少。 我需要为用户身份验证/授权添加自定义逻辑:我希望能够检查内部数据库中的一些字段来验证人员帐户。但是我没有找到任何关于类似情况的指南或好文章。有人能给我提供一些关于从什么开始的链接吗?为了实现这样

  • 我是Spring安全的新手,我想用数据库验证用户。我已经用jdbc创建了一个登录页面和一个身份验证提供程序,它检查用户是否存在于数据库中。但是我的代码没有这样做的问题是,它允许所有用户登录!我的代码怎么了?谢谢你的帮助。 这是我的安全会议。xml:

  • 在我的Angular 2应用程序中,我希望允许用户通过电子邮件/密码、谷歌和Facebook提供商进行连接。 在第一次登录时,我了解到一个用户条目是在firebase数据库中创建的。例如。如果用户使用另一个提供程序登录,我理解firebase将阻止此操作,特别是如果电子邮件已经被使用并且在规则中设置为unique。 所以我的问题是:如果我们检测到电子邮件是相同的,那么我们如何能够自动的,对用户来说

  • security_applicationcontext.xml UserDetailService实现 } 斯塔克特雷斯。虽然没有例外,但我捕获了stacktrace以供参考。

  • 我对 SSO 和 SAML 很陌生。我们有一个 ASP.NET MVC服务器。我们需要让它充当SSO身份提供商,它接受来自我们其他服务提供商网站的SAML请求,允许用户使用电子邮件,密码和2FA登录,然后重定向回服务提供商网站,并带有SAML响应/断言。 其中两个服务提供商网站是使用DNN CMS创建的,因此我们的SSO身份提供商的工作方式必须符合行业标准,以便DNN CMS可以使用它。 问题: