NameIdentifier vs ObjectIdentifier

У меня есть многопользовательское приложение ASP.NET, использующее OpenIdConnect и Azure AD в качестве поставщика удостоверений для Office 365. Когда пользователь проходит проверку подлинности, я получаю свои претензии вClaimsPrincipal.Current.

Я хотел идентифицировать пользователя и сохранить эту ссылку в моей базе данных. Я спросилэтот вопрос, Ответили, что

При попытке однозначно идентифицировать пользователя [NameIdentifier] должен быть вашим выбором.

Но похоже, чтоNameIdentifier Запрос,http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier зависит от приложения. Если я создам другое приложение в Azure AD, тоNameIdentifier не будет одинаковым для того жереальный Пользователь Office365. Помните, что нам, возможно, придется создать еще один манифест Azure AD (поскольку нам могут потребоваться другие области), и мы сможем найти тех же конечных пользователей.

Между тем я заметил еще одно утверждение:ObjectIdentifier http://schemas.microsoft.com/identity/claims/objectidentifier

Кажется, чтоObjectIdentifier, одинаково для всех приложений, защищенных Azure AD, для данного пользователя Office 365.

Вы можете точно объяснить разницу между этими двумя утверждениями? И что более важно, можете ли вы подтвердить, чтоObjectIdentifier может использоваться в качестве «универсального» идентификатора пользователя в любой подписке Office 365.

Ответы на вопрос(2)

Ваш ответ на вопрос