NameIdentifier vs ObjectIdentifier
Ich habe eine ASP.NET-Anwendung mit mehreren Mandanten, die OpenIdConnect und Azure AD als Identitätsanbieter für Office 365 verwendet. Wenn der Benutzer authentifiziert ist, erhalte ich meine Ansprüche in ClaimsPrincipal.Current
.
Ich wollte einen Benutzer identifizieren und diese ID-Referenz in meiner Datenbank speichern. Ich fragtediese Frag. Es wurde geantwortet, dass
Wenn Sie versuchen, einen Benutzer eindeutig zu identifizieren, sollten Sie sich für [NameIdentifier] entscheiden.
Aber es scheint, dass dieNameIdentifier
Anspruch,http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
hängt von der Anwendung ab. Wenn ich dann eine andere Anwendung in Azure AD erstelle, wird dasNameIdentifier
wird nicht gleich sein für das gleicheech Office365-Benutzer. Bedenken Sie, dass wir möglicherweise ein anderes Azure AD-Manifest erstellen müssen (da wir möglicherweise andere Bereiche benötigen) und in der Lage sein sollten, dieselben Endbenutzer wiederzufinden.
ährenddessen bemerkte ich eine weitere Behauptung:ObjectIdentifier
http://schemas.microsoft.com/identity/claims/objectidentifier
Es scheint, dassObjectIdentifier
ist für alle Azure AD-gesicherten Anwendungen für einen bestimmten Office 365-Benutzer gleich.
annst du den Unterschied zwischen diesen beiden Behauptungen genau erklären? Und was noch wichtiger ist, können Sie bestätigen, dass dasObjectIdentifier
kann als "universeller" Bezeichner für einen Benutzer in jedem Office 365-Abonnement verwendet werden.