Azure active directory Azure AD B2C声明不包括映射的自定义IdP声明

Azure active directory Azure AD B2C声明不包括映射的自定义IdP声明,azure-active-directory,azure-ad-b2c,Azure Active Directory,Azure Ad B2c,我有Azure AD B2C目录,并在Azure AD B2C中添加了另一个单独的Azure AD(AAD)作为身份提供商(作为开放ID连接提供商)。我可以使用链接到AAD的自定义IdP登录 我还将身份提供者声明映射设置为“用户ID”到oid,“显示名称”到名称,“给定名称”到给定名称,“姓氏”到家族名称,“电子邮件”到首选名称(根据以下链接)。但是当我取回令牌并使用它进行检查时,它没有这些声明。当我检查“idp_访问_令牌”声明时,它包含AAD返回的oid、给定_名称、家庭_名称等。我不知道我

我有Azure AD B2C目录,并在Azure AD B2C中添加了另一个单独的Azure AD(AAD)作为身份提供商(作为开放ID连接提供商)。我可以使用链接到AAD的自定义IdP登录

我还将身份提供者声明映射设置为“用户ID”到oid,“显示名称”到名称,“给定名称”到给定名称,“姓氏”到家族名称,“电子邮件”到首选名称(根据以下链接)。但是当我取回令牌并使用它进行检查时,它没有这些声明。当我检查“idp_访问_令牌”声明时,它包含AAD返回的oid、给定_名称、家庭_名称等。我不知道我在哪里失踪了。我希望这些声明在B2C发行的代币中

感谢您的帮助

我已经在我的用户流中选择了所有这些“应用程序声明”
您可能错过了一个步骤:


在用户流中,您是否选择在“申请索赔”下返回这些索赔?是。我已经更新了问题的详细信息。谢谢@Vivek,请您关注文档-更多信息。。。当我修改注册\登录用户流以收集用户属性(如电子邮件地址、给定名称)时,在用户注册期间,B2C会提示从用户收集这些值。在这种情况下,B2C令牌包含这些声明,但这些值可能不同于AAD存储。我希望这些值来自AAD商店。我现在可以获得给定的姓名和姓氏声明,但仍然无法访问电子邮件。仅供参考。AAD端的电子邮件也是upn。@VivekN不,AAD端的电子邮件不是upn<代码>idp\u访问\u令牌是访问令牌。但是声明应该来自id令牌。我可以确认id令牌中存在
preferred\u username
,但已连接到不会返回Azure B2C端。我将“Email”设置为family_name,但我仍然无法在B2C id令牌中看到“Email”声明(包括family_name)。不确定这是否是内置用户流中的错误。我认为这是另一个问题。也许你可以打开一个新的帖子,与更多的人进行进一步的讨论。顺便说一句,如果我的答案是有帮助的,你可以标记为接受。谢谢,谢谢。这很有帮助。那么,我们可以解码客户端应用程序端的“idp\u访问\u令牌”并从那里获取电子邮件吗?这是推荐的做法吗?@VivekN不确定这是否是推荐的做法,但我认为这应该是可行的。或者,您可以使用用户对象id使用Microsoft Graph查询用户的电子邮件。我会将此标记为已接受的答案,因为这会让我找到正确的方向。对于电子邮件索赔,我将提出单独的问题。