MS Graph API не возвращает адрес электронной почты пользователя из Azure AD B2C - PullRequest
0 голосов
/ 18 июня 2020

Когда я использую Microsoft Graph API для получения пользователя из Azure AD B2 C, адрес электронной почты, с которым зарегистрировался пользователь, не появляется в возвращаемом JSON. Хотя в SO есть сообщения, которые предполагают, что адрес электронной почты должен существовать в других полях, кроме Mail (otherMails или signInNames), полученный JSON не содержит никаких полей с ожидаемым адресом электронной почты. Вот запрос, который я выполнил для тестового пользователя (конфиденциальные данные замаскированы):

GET https://graph.microsoft.com/v1.0/users/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Authorization: Bearer xxxxxxxxx
Content-Type: application/json

И JSON в ответе:

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
  "businessPhones": [],
  "displayName": "unknown",
  "givenName": "some",
  "jobTitle": null,
  "mail": null,
  "mobilePhone": null,
  "officeLocation": null,
  "preferredLanguage": null,
  "surname": "user",
  "userPrincipalName": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx@xxxxx.onmicrosoft.com",
  "id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Несмотря на это, когда я см. пользователя в Azure AD B2 C, адрес электронной почты отображается в столбце «Имя пользователя» на странице списка пользователей:

enter image description here

И когда я просматриваю профиль пользователя, адрес электронной почты также отображается в поле «Основное имя пользователя»:

enter image description here

Где адрес электронной почты откуда и как я могу получить его с помощью MS Graph API?

1 Ответ

2 голосов
/ 18 июня 2020

Вы можете получить имя пользователя из коллекции идентификаторов с помощью конечной точки Beta.

Запрос

https://graph.microsoft.com/beta/users/userid?select=identities

Пожалуйста, go через статьи

...