电子邮件声明会覆盖密钥斗篷中的用户名

时间:2019-05-17 06:31:44

标签: keycloak oidc

我已经编写了一个自定义的OIDC提供程序,并将其连接到密钥斗篷。 通过我的提供商首次登录后,要求用户输入用户名,电子邮件,名字和姓氏(first-broker-login-flow)。

通常,用户名会预先填写“ sub”声明中的内容。 但是,在发送“电子邮件”声明时,用户名会预先填充电子邮件。

如何在发送电子邮件声明的同时,用电子邮件以外的其他方式预填充用户名?

到目前为止,我已经尝试发送“名称”,“用户名”和“ preferred_username”声明-没有成功。

我发现IdpReviewProfileAuthenticator检查isRegistrationEmailAsUsername()。 因此,我已在我的领域设置中停用了“通过电子邮件登录”-没有成功。

有什么办法可以让密钥隐藏不使用用户名的“电子邮件”声明?

1 个答案:

答案 0 :(得分:0)

我想出了一个解决方法。在keycloak中,我为我的oidc提供程序创建了一个“用户名模板导入器”映射器,并将template-value设置为${CLAIM.sub}

在我的拙见中,这不是最好的解决方案。 但这一直有效,直到我想出一种更好的方法...