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

问题描述

我有一个Keycloak Broker和2个身份提供程序正在运行。目前,我在代理程序登录屏幕上看到了“用户名”和“密码”字段以及指向已配置的身份提供程序的2个链接。按下IP链接后,就可以通过身份提供商进行登录。

如何禁用/删除“用户名/密码”字段,因为我只想提供身份提供者来登录我的客户端(不能直接通过Broker登录)?

解决方法

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

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

,

少量可用的现成功能。

如果仅需要一个默认的IdP,则可以为您的领域配置默认身份提供程序。这将绕过Keycloak登录页面,并将用户直接重定向到Identity Provider。更多信息: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登录页面。

创建自己的登录主题可能是最简单的方法,但是我想扔掉这些选项,以防其他人觉得有用。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...