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

Azure B2C中未使用自定义策略填充电子邮件声明,azure,azure-active-directory,azure-ad-b2c,Azure,Azure Active Directory,Azure Ad B2c,我有Azure B2C,具有启用本地登录和Microsoft帐户登录的自定义策略。我从starter pack开始,做了一些修改,添加了用于验证的自定义逻辑,并添加了其他声明,如前所述 Microsoft帐户一切正常。但我在本地帐户登录时遇到问题 电子邮件声明仅在用户注册但未登录时填充。在登录的情况下,电子邮件是“signInNames.emailAddress”声明的一部分。我试着按照解释和说明进行更改。我想在电子邮件声明中填充电子邮件,因为我的API使用此声明 从我的RESTAPI返回的其他

我有Azure B2C,具有启用本地登录和Microsoft帐户登录的自定义策略。我从starter pack开始,做了一些修改,添加了用于验证的自定义逻辑,并添加了其他声明,如前所述

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

  • 电子邮件声明仅在用户注册但未登录时填充。在登录的情况下,电子邮件是“signInNames.emailAddress”声明的一部分。我试着按照解释和说明进行更改。我想在电子邮件声明中填充电子邮件,因为我的API使用此声明

  • 从我的RESTAPI返回的其他CALIM不会添加到令牌中,仅用于本地登录。它们是为Microsoft帐户添加的

  • 多谢各位


    更新:对于第2点,这是我的保单文件的问题,现已修复。

    有一个简单的方法可以返回
    电子邮件
    索赔

    只需在您的
    SignUporSignIn.xml
    文件中将
    替换为

    您需要注册新的本地用户,然后登录以测试它。您将看到
    电子邮件
    索赔


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

    我试过了,但不起作用。电子邮件仅为本地登录而填充,但不为Microsoft等社交提供商填充。@user1868744尝试同时添加
    .ha。。我以前试过,但没用。。我的政策可能有问题。现在可以用了。。非常感谢。你知道为什么电子邮件不会作为电子邮件保存吗?@user1868744这取决于索赔的返回方式。对于本地帐户,您需要从
    “signInNames”:[{“type”:“emailAddress”,“value”:“*@*.com”}]获取电子邮件。
    使用“使用苹果登录”时,这是否起作用?