Мое приложение поддерживает единый вход для пользователей, организация которых использует Azure AD. Когда пользователь входит в систему, он будет аутентифицирован AD, и я извлекаю идентификатор электронной почты пользователя в моем методе SignInCallback. Все это было реализовано путем обращения к исходному коду Identity.Server4, найденному здесь .
Я использовал для извлечения emailId как
var emailId = ClaimsPrincipal.Claims.FirstOrDefault(t => t.Type == "email" || t.Type == "emails" || t.Type == "upn").Value;
Если пользователь с идентификатором электронной почты«primary.account@domain.com» проходит проверку подлинности AD, я получу его идентификатор электронной почты от ClaimsPrincipal.
Допустим, у того же пользователя есть другой идентификатор электронной почты («primary.alias@domain.com»), который является псевдонимом для его основной электронной почты и использует его для входа в систему.
Какое значение я получу от ClaimsPrincipal? primary.alias@domain.com или primary.account@domain.com?