gpt4 book ai didi

azure-active-directory - NameIdentifier与ObjectIdentifier

转载 作者:行者123 更新时间:2023-12-03 14:24:17 24 4
gpt4 key购买 nike

我有一个 Multi-Tenancy ASP.NET应用程序,使用OpenIdConnect和Azure AD作为Office 365的身份提供程序。对用户进行身份验证后,我收到了ClaimsPrincipal.Current中的声明。

我想识别一个用户并将此ID引用存储在我的数据库中。我问this question
答复说

When trying to identify a user uniquely [NameIdentifier] should be your go-to choice.



但似乎 NameIdentifier声明为 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier取决于应用程序。精确地,如果我在Azure AD中创建另一个应用程序,则对于同一真实Office365用户, NameIdentifier将不同。请记住,我们可能必须创建另一个Azure AD list (因为我们可能需要其他作用域),并且我们应该能够找到相同的最终用户。

同时,我说了另一种说法: ObjectIdentifier http://schemas.microsoft.com/identity/claims/objectidentifier
对于给定的Office 365用户,对于所有受Azure AD保护的应用程序, ObjectIdentifier似乎都是相同的。

您能准确解释这两种说法之间的区别吗?更重要的是,您是否可以确认 ObjectIdentifier可以用作任何Office 365订阅中用户的“通用”标识符。

最佳答案

Precisely, if I create another application in Azure AD then, the NameIdentifier will not be the same for the same real Office365 user.



我进行了如下快速测试:

在AD Contoso中注册 Multi-Tenancy Webapp和单租户Webapp。

使用user1@contoso.onmicrosoft.com登录并在两个Web应用程序中获取名称标识符,结果 的名称标识符在两个应用程序中是相同的。因此,名称标识符应能够识别跨应用程序的用户,但不能用于在Azure AD中识别用户。

对于 对象标识符,它是一个GUID,可用于在Azure AD中标识用户。例如,您可以使用对象标识符在Azure AD中查询用户。

电源 shell :
$msolcred = get-credential
connect-msolservice -credential $msolcred
get-msoluser -ObjectId "{guid:object_identifier}"

And more importantly, can you confirm that the ObjectIdentifier can be used as an "universal" identifier for a user in any Office 365 subscription.



根据我的理解,对象标识符是一个GUID,可以为Office 365订阅中的用户标识。

关于azure-active-directory - NameIdentifier与ObjectIdentifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36747534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com