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

use*_*744 3 azure azure-active-directory azure-ad-b2c

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

使用 Microsoft 帐户一切正常。但我遇到本地帐户登录问题。

  1. 电子邮件声明仅在用户注册时填充,但在登录时不填充。如果登录,电子邮件是“signInNames.emailAddress”声明的一部分。我尝试按照此处此处的说明进行更改。我希望将电子邮件填充到电子邮件声明中,因为我的 API 使用此声明。

  2. 从我的 REST API 返回的其他 calim 不会添加到仅用于本地登录的令牌中。它们是为 Microsoft 帐户添加的。

谢谢。

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

All*_* Wu 7

有一个简单的方法可以退回email索赔。

只需在文件中替换<OutputClaim ClaimTypeReferenceId="email" />为即可。<OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" PartnerClaimType="email" />SignUporSignIn.xml

您需要注册新的本地用户,然后登录进行测试。您将看到email索赔。

事实上,这个解决方案是由 @Wayne Yang 在您分享的帖子中提供的。