Keycloak:在社交身份提供者登录时传递自定义用户属性

标签 keycloak keycloak-services keycloak-javascript

在注册时,Keycloak 提供添加 custom user attributes 的功能。通过 Keycloak 主题的注册页面模板,通过“输入”元素,看起来像:

<input id="user.attributes.[the_custom_attribute]" name="user.attributes.[the_custom_attribute]" />
但是,这似乎只有在用户创建帐户并提交表单时才有效。
如果用户通过 Social Identity Provider 登录(google、microsoft、github 等...)我们如何添加自定义用户属性?

最佳答案

如果您使用社交身份提供程序登录应用程序,则 customer_attribute你将无法使用。
但是如果您仍然希望在该用户登录之前为其设置该属性,那么您可以添加 custom required action来实现这个功能。您可以创建新的 RequiredCustomAttribute 操作并从管理控制台启用它。
实现您自己所需的操作,类似于 org.keycloak.authentication.requiredactions.UpdateProfile keycloak 提供的类。您可以标记您的 customer_attribute按照这个新的必需操作流程的要求。
当您完成上述所有操作后,下次用户使用社交身份提供程序登录时,他/她将被要求输入 custom_attribute在下一页。

关于Keycloak:在社交身份提供者登录时传递自定义用户属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67653822/

相关文章:

Keycloak 正在从 Location header 中的 redirect_uri 中剥离端口。为什么?

java - 我们可以通过发送包含 2 个以上用户信息的 json 数组在 Keycloak 中创建用户吗?

key 斗篷:ERR_TOO_MANY_REDIRECTS

keycloak - 如何通过 REST API 删除 Keycloak 领域

javascript - 使用 javascript 的 OAuth 2.0 授权码流程

reactjs - React keycloak 集成不会重定向到登录页面

Keycloak:如何将 Keycloak 用户自动重定向到 OKTA SSO 页面而不是单击按钮?