在Azure B2C中未使用自定义策略填充电子邮件声明

时间:2020-01-09 17:55:26

标签: azure azure-active-directory azure-ad-b2c

我的Azure B2C具有自定义策略,并且启用了本地登录和Microsoft帐户登录。我已经从入门包入手,并做了一些修改以添加我的自定义逻辑以进行验证并添加其他声明,如here所述。

一切都可以使用Microsoft帐户。但是我在本地帐户登录方面遇到了问题。

  1. 电子邮件声明仅在用户注册时填充,而在登录时不填充。如果登录,则该电子邮件属于“ signInNames.emailAddress”声明的一部分。我尝试按照说明herehere进行更改。我希望在我的API使用该声明时在电子邮件声明中填充该电子邮件。

  2. 我的REST API返回的其他calim仅针对本地登录未添加到令牌中。它们是为Microsoft帐户添加的。

谢谢。

更新:对于第2点,我的策略文件存在问题,现已修复。

1 个答案:

答案 0 :(得分:1)

有一个简单的方法可以返回email声明。

只需将<OutputClaim ClaimTypeReferenceId="email" />文件中的<OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" PartnerClaimType="email" />替换为SignUporSignIn.xml

您需要注册新的本地用户,然后登录以对其进行测试。您将看到email声明。

实际上,@ Wayne Yang在您共享的post中提供了此解决方案。