Как получить имя пользователя и адрес электронной почты для аутентифицированного пользователя Azure AD - PullRequest
0 голосов
/ 08 марта 2020

Я создал. Net Базовое веб-приложение, которое аутентифицирует пользователя по Azure AD. После успешной аутентификации я хочу получить доступ к данным аутентифицированного пользователя, таким как имя пользователя / адрес электронной почты.

Я не могу понять, как это сделать. Кто-нибудь может помочь? Спасибо. Я использую C# кстати.

1 Ответ

1 голос
/ 08 марта 2020

Эти значения должны быть предоставлены через претензий . В ASP. NET Core вы можете получить доступ к заявке пользователя через объект User, который доступен из большинства мест инфраструктуры, таких как контроллеры, страницы Razor или представления Razor.

Адрес электронной почты и имя пользователя должны быть доступны через ClaimTypes.Email и ClaimTypes.Name претензий соответственно. Таким образом, вы должны быть в состоянии сделать это, чтобы получить эти значения:

string email = User.FindFirstValue(ClaimTypes.Email);
string name = User.FindFirstValue(ClaimTypes.Name);

Вы также можете l oop через коллекцию User.Claims, чтобы увидеть, какие утверждения включает ваш поставщик аутентификации. Например, вы можете сделать это в представлении Razor, чтобы быстро перечислить все доступные утверждения:

<ul>
  @foreach (var claim in User.Claims)
  {
    <li><strong>@claim.Type:</strong> @claim.Value</li>
  }
</ul>
...