Azure active directory 在Azure广告门户上,在哪里可以找到;“分;身份验证ID令牌中包含的用户声明值

Azure active directory 在Azure广告门户上,在哪里可以找到;“分;身份验证ID令牌中包含的用户声明值,azure-active-directory,openid-connect,Azure Active Directory,Openid Connect,我们在web应用程序中实现了openid连接身份验证。客户使用Azure AD作为身份提供者,我们需要从Azure AD发送到我们的web应用程序的ID令牌中获取“sub”(subject)声明值,以便与web应用程序用户进行映射。我可以知道我们在哪里可以找到Azure广告门户上用户的“sub”索赔价值吗?请给我建议,谢谢。我想你找不到。 子声明包含该应用程序的用户的唯一、不可变标识符。 对于同一用户,其价值在其他应用程序中是不同的。 因此,它可能是基于一些其他标识符计算的,但我不确定。 但我从

我们在web应用程序中实现了openid连接身份验证。客户使用Azure AD作为身份提供者,我们需要从Azure AD发送到我们的web应用程序的ID令牌中获取“sub”(subject)声明值,以便与web应用程序用户进行映射。我可以知道我们在哪里可以找到Azure广告门户上用户的“sub”索赔价值吗?请给我建议,谢谢。

我想你找不到。 子声明包含该应用程序的用户的唯一、不可变标识符。 对于同一用户,其价值在其他应用程序中是不同的。 因此,它可能是基于一些其他标识符计算的,但我不确定。 但我从未在门户的任何API响应或页面中看到过它

如果您想要一个唯一的、不可变的id,可以在门户中查找,那么需要使用oid声明。 此声明包含用户的objectId,您可以在查看用户详细信息时在门户中看到它。 如果需要查找,它也是Graph API中的用户id

子声明用于在应用程序中唯一地标识用户,但如果您需要将它们链接到Azure AD中的用户,则应使用oid声明


文档中的更多信息:

我看到AzureAD发行的ID代币中没有“sub”或“oid”声明。这是指定的可选“配置文件”范围。另外,我在AzureAD UI中可以添加的可选声明列表中没有看到这些声明。。这是不可能的。如果您有一个示例令牌,您可以共享它吗?我的Twitter DMs也会打开,以防你不想在这里共享。有一个“”声明。。。可能是AzureAD使用了一个不同的名称作为oid声明吗?是的,就是这样!不是Azure AD使用了不同的名称,而是.NET库基于遗留原因为已知声明提供了默认声明映射。您可以找到子声明以及类似的内容,但以“nameidentifier”结尾。对于记录,完整的映射集在package/assembly System.IdentityModel.Tokens.Jwt中定义;在这里: