Используйте график Microsoft для аутентификации контактной информации, чтобы получить электронную почту - PullRequest
0 голосов
/ 22 ноября 2018

Как вы получаете контактную информацию для аутентификации из Azure Ad B2C с графиком Microsoft, я ищу получить адрес электронной почты.

Я проверил документацию по Microsoft Graph API и не смог найти упоминания о том, какполучить контактную информацию для аутентификации помимо использования PowerShell (docs.microsoft.com/en-za/azure/active-directory/authentication/…)

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Исходя из этой статьи , между Microsoft Graph API и более старым Azure AD Graph API все еще есть некоторые пробелы, но, похоже, ни один из них не сможет полностью восстановитьчто требуется.

На данный момент следующее с полем Alternate Email only из раздела «Контактная информация для аутентификации» с использованием Azure AD Graph API ;

Зарегистрируйте приложение в Azure AD

В экземпляре Azure Active Directory;

  • Зарегистрируйте новое приложение (client_id)
  • Предоставление «Чтение полных профилей всех пользователей» разрешения - Windows Azure Active Directory
  • Создание личного ключа (client_secret) для приложения

Поток аутентификации

Ссылка: Сервисные вызовы с использованием учетных данных клиента

Получение доступатокен

Запрос

POST https://login.microsoftonline.com/<tenant id>/oauth2/token

Полезная нагрузка

{
  "client_id": "<client_id>",
  "client_secret": "<client_secret>",
  "resource": "https://graph.windows.net",
  "grant_type": "client_credentials"
}

Аутентификация пользователя Контактная информация

Ссылка: Основные операции над пользователями

Получить пользователя

Запрос

GET https://graph.windows.net/<tenant_id>/users/<user_id>?api-version=1.6

Заголовки

{
  "Authorization": "Bearer <access_token>"
}

Ответ

{
    ...
    "otherMails": ["<Alternate Email>"],
    ...
}
0 голосов
/ 23 ноября 2018

Как вы упомянули, похоже, что Microsoft API Graph не может получить аутентификацию Контактная информация Email.

Но мы могли бы получить эту информацию с помощью следующего API, я фиксирую ее в браузере.Кажется, небольшой взлом.

Get https://main.iam.ad.ext.azure.com/api/UserDetails/{userId}

О том, как получить токен доступа, см. Этот блог .

Примечание: Я не нахожу этот APIв официальном документе Azure.Пожалуйста, не используйте его для продукта, вы можете использовать его для тестирования.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...