У меня есть многопользовательское приложение 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.