NameIdentifier vs ObjectIdentifier

Tengo una aplicación ASP.NET multiusuario que usa OpenIdConnect y Azure AD como proveedor de identidad para Office 365. Cuando el usuario se autentica, recibo mis reclamos enClaimsPrincipal.Current.

Quería identificar a un usuario y almacenar esta referencia de identificación en mi base de datos. Yo preguntéesta pregunta. Fue respondido que

Cuando intente identificar a un usuario de forma exclusiva, [NameIdentifier] debería ser su opción preferida.

Pero parece que elNameIdentifier Reclamación,http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier Depende de la aplicación. Precisamente, si creo otra aplicación en Azure AD, entonces, elNameIdentifier no será lo mismo para lo mismoreal Usuario de Office365. Tenga en cuenta que es posible que tengamos que crear otro manifiesto de Azure AD (porque podríamos necesitar otros ámbitos) y deberíamos poder encontrar a los mismos usuarios finales.

Mientras tanto, comenté otro reclamo:ObjectIdentifier http://schemas.microsoft.com/identity/claims/objectidentifier

Parece queObjectIdentifier, es lo mismo para todas las aplicaciones protegidas por Azure AD para un usuario de Office 365 dado.

¿Puedes explicar con precisión la diferencia entre esas dos afirmaciones? Y lo más importante, ¿puede confirmar que elObjectIdentifier se puede usar como un identificador "universal" para un usuario en cualquier suscripción de Office 365.

Respuestas a la pregunta(2)

Su respuesta a la pregunta