NameIdentifier vs ObjectIdentifier

Eu tenho um aplicativo ASP.NET multitenant usando o OpenIdConnect e o Azure AD como um provedor de identidade para o Office 365. Quando o usuário é autenticado, recebo minhas declarações emClaimsPrincipal.Current.

Eu queria identificar um usuário e armazenar essa referência de ID no meu banco de dados. eu pergunteiessa questão. Foi respondido que

Ao tentar identificar um usuário de forma exclusiva, [NameIdentifier] deve ser sua opção preferida.

Mas parece que oNameIdentifier afirmação,http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier depende da aplicação. Precisamente, se eu criar outro aplicativo no Azure AD, oNameIdentifier não será o mesmo para o mesmoreal Usuário do Office365. Lembre-se de que talvez tenhamos de criar outro manifesto do Azure AD (porque poderíamos precisar de outros escopos) e poderemos encontrar novamente os mesmos usuários finais.

Enquanto isso, comentei outra afirmação:ObjectIdentifier http://schemas.microsoft.com/identity/claims/objectidentifier

Parece queObjectIdentifier, é o mesmo para todos os aplicativos protegidos pelo Azure AD para um determinado usuário do Office 365.

Você pode explicar com precisão a diferença entre essas duas afirmações? E mais importante, você pode confirmar que oObjectIdentifier pode ser usado como um identificador "universal" para um usuário em qualquer assinatura do Office 365.

questionAnswers(2)

yourAnswerToTheQuestion