Keycloak从注册表中删除名字和姓氏
Posted
技术标签:
【中文标题】Keycloak从注册表中删除名字和姓氏【英文标题】:Keycloak remove first and last name from registration form 【发布时间】:2019-06-27 09:55:05 【问题描述】:我想只使用电子邮件和密码注册用户。
从 register.ftl 中删除字段,将从 UI 中删除它们,但服务器仍将验证它们。
这个问题非常相似: Keycloak Remove First Name and Last Name fields on Registration Screen
问题是我在较新版本的 Keycloak 中找不到这些验证检查,我使用的是 v 4.8.1。
最好的解决方案是完全删除它们并继续验证其他字段,但禁用表单验证并使用自定义验证也适用于我。
提前谢谢你
【问题讨论】:
【参考方案1】:这是我为 keycloak v4.8.3 所做的解决方法。
不再有禁用表单注册表单验证的选项,因此您有两个选择
完全禁用 keycloak 注册流程,仅依赖社交 登录(这实际上是一种非常流行的方法,不仅 带钥匙斗篷)到 keycloak-4.8.1.Final/themes/base/login,找到 register.ftl 并为名字和姓氏添加默认值,然后向它们添加样式 display none ,这样它们就不会显示了。像这样:
<div class="$properties.kcFormGroupClass! $messagesPerField.printIfExists('firstName',properties.kcFormGroupErrorClass!)" style="display:none">
<div class="$properties.kcLabelWrapperClass!">
<label for="firstName" class="$properties.kcLabelClass!">$msg("firstName")</label>
</div>
<div class="$properties.kcInputWrapperClass!">
<input type="text" id="firstName" class="$properties.kcInputClass!" name="firstName" value="temp_first_name"/>
</div>
</div>
希望对您有所帮助。
【讨论】:
嘿,感谢您的回复,如何完全禁用 keycloak 注册流程? 不确定是否可以。但是您可以忽略它,将 KC 用作服务。但是,如果您也想使用社交登录部分,它会变得有点复杂。 ***.com/questions/54219092/… 谢谢,我们最终使用了电子邮件地址的硬编码值作为映射,这样注册表单就不再需要购买了以上是关于Keycloak从注册表中删除名字和姓氏的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Java API 从 keycloak 获取用户的名字、姓氏和属性?
Django rest-auth allauth 注册,带有电子邮件、名字和姓氏,没有用户名
使用 keycloak rest admin API (Oauth2) 修改用户姓氏后 jhipster 重新加载 OIDC 令牌