У меня есть приложение 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: Получить другой токен, который я могу проверить как «токен на предъявителя» с моим бэкэндом, содержащим эти данные