MSAL idToken не имеет upn, профиль или данные электронной почты?это нужно в idToken для авторизации паспорт-лазурь-объявление - PullRequest
2 голосов
/ 05 июня 2019

У меня есть приложение angular8, использующее официальный пакет msal (не для углового, основного) на бэкэнде я авторизуюсь с помощью passport-azure-ad (официальный пакет Microsoft)

Мне нужно иметь адрес электронной почты пользователя в IdToken, поскольку я не могу проверить с помощью стратегии переноса по токену доступа.Мне нужен какой-то способ получить этот адрес электронной почты либо через UPN, либо напрямую.

Я пробовал 4 разные учетные записи в разных группах AD, и пока только для 1 группы AD он фактически показал 'email' ИЛИ ​​'поле upn 'в idToken.

Разрешения, настроенные на скриншоте приложения.

Параметры запроса входа:

  private loginRequest: Msal.AuthenticationParameters = {
    scopes: ['user.read', 'email', 'profile', 'openid'],
    extraScopesToConsent: ['email']
  };

У меня естьпопробовал любой вариант, который я могу придумать, я попытался сделать так, чтобы они начинались с заглавных букв (Email, User.Read), как на скриншоте, я попытался поменять их местами по областям и extraScopesToConsent, я попытался поместить upn куда угодно, но нетудачи.

Можно ли было бы:

A: Получить эти данные каким-либо образом в токене B: Получить другой токен, который я могу проверить как «токен на предъявителя» с моим бэкэндом, содержащим эти данные

...