身份体验框架 - 使用多租户 Azure AD 自定义策略获取电子邮件声明

Identity Experience Framework - getting the email claim with a multi-tenant Azure AD custom policy

我已按照此处的说明在身份体验框架中设置 Azure AD 多租户自定义策略: https://docs.microsoft.com/en-gb/azure/active-directory-b2c/active-directory-b2c-setup-commonaad-custom?tabs=applications

但是我无法获得包含电子邮件地址的声明(对应于外部活动目录中的 "user name")。

主要 single-tenant 活动目录设置工作正常,当我使用此声明映射时(其他 "social" 提供商帐户与 PartnerClaimType="email" 一起工作):

<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="upn" />

但是我已经为多租户尝试了以下组合,但我似乎没有从提供商那里取回数据:

<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="upn" />
<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="mail" />

有人可以让我知道正确的声明映射,以便从用户流中获取电子邮件输出吗?

您要找的是"preferred_username"。

<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="preferred_username" /> 添加到 TrustFrameworkExtensions.xml 文件中,看看它是否有效。