keycloak - Keycloak:在社交身份提供者登录时传递自定义用户属性
问题描述
在注册时,Keycloak 提供了通过 Keycloak 主题的注册页面模板通过“输入”元素添加自定义用户属性的功能,如下所示:
<input id="user.attributes.[the_custom_attribute]" name="user.attributes.[the_custom_attribute]" />
但是,这似乎只有在用户创建帐户并提交表单时才有效。
如果用户通过社交身份提供商(google、microsoft、github 等)登录,我们如何添加自定义用户属性?
解决方案
如果您使用社交身份提供者登录应用程序,那么customer_attribute
您将无法使用。
但是,如果您仍然希望在该用户登录之前为其设置该属性,那么您可以添加自定义所需的操作来实现此功能。您可以创建新的 RequiredCustomAttribute 操作并从管理控制台启用它。
实现您自己所需的操作,类似于org.keycloak.authentication.requiredactions.UpdateProfile
keycloak 提供的类。customer_attribute
您可以在这个新的必需操作流程中将您的标记为必需。
当您完成上述所有操作后,下次当用户使用Social Identity Provider登录时,他/她将被要求custom_attribute
在下一页输入。
推荐阅读
- mysql - 在 MYSQL 中使用 JSON 对象数组
- python - Python FTPlib 随机出错 - [Errno 111] 连接被拒绝
- ios - 在 SwiftUI ForEach 中不能有条件
- jquery - 尝试访问 json 数组的不同部分并在 HTML 表中使用
- git - 测试是否有
`git clone` 可以接受而无需实际克隆它 - python - 当值超过阈值时,仅将某些列值设置为零
- java - 为什么在 calAverage 方法中 return 语句不返回任何内容
- python - 如何让 Bokeh 中的 RangeTool 选择多个绘图?
- ansible - 由于权限被拒绝,Playbook 无法执行
- haskell - RIO.ByteString.split 未按记录工作