Keycloak:在社交身份提供者登录时传递自定义用户属性
Posted
技术标签:
【中文标题】Keycloak:在社交身份提供者登录时传递自定义用户属性【英文标题】:Keycloak: Pass custom user attributes on Social Identity Provider Login 【发布时间】:2021-08-11 16:21:40 【问题描述】:在注册时,Keycloak 提供了通过 Keycloak 主题的注册页面模板添加 custom user attributes 的功能,“输入”元素看起来像:
<input id="user.attributes.[the_custom_attribute]" name="user.attributes.[the_custom_attribute]" />
但是,这似乎只有在用户创建帐户并提交表单时才有效。
如果用户通过Social Identity Provider(google、microsoft、github 等)登录,我们如何添加自定义用户属性?
【问题讨论】:
【参考方案1】:如果您使用 Social Identity Provider 登录应用程序,那么您将无法使用 customer_attribute
。
但是如果您仍然希望在该用户登录之前为其设置该属性,那么您可以添加custom required action 来实现此功能。您可以创建新的 RequiredCustomAttribute 操作并从管理控制台启用它。
实现您自己需要的操作,类似于 keycloak 提供的org.keycloak.authentication.requiredactions.UpdateProfile
类。您可以在这个新的必需操作流程中将您的 customer_attribute
标记为必需。
当您完成以上所有操作后,下次当用户使用 Social Identity Provider 登录时,他/她将被要求在下一页输入custom_attribute
。
【讨论】:
以上是关于Keycloak:在社交身份提供者登录时传递自定义用户属性的主要内容,如果未能解决你的问题,请参考以下文章