Как вы получаете контактную информацию для аутентификации из Azure Ad B2C с графиком Microsoft, я ищу получить адрес электронной почты.
Я проверил документацию по Microsoft Graph API и не смог найти упоминания о том, какполучить контактную информацию для аутентификации помимо использования PowerShell (docs.microsoft.com/en-za/azure/active-directory/authentication/…)
Исходя из этой статьи , между Microsoft Graph API и более старым Azure AD Graph API все еще есть некоторые пробелы, но, похоже, ни один из них не сможет полностью восстановитьчто требуется.
На данный момент следующее с полем Alternate Email only из раздела «Контактная информация для аутентификации» с использованием Azure AD Graph API ;
Alternate Email
В экземпляре Azure Active Directory;
client_id
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>"], ... }
Как вы упомянули, похоже, что Microsoft API Graph не может получить аутентификацию Контактная информация Email.
Но мы могли бы получить эту информацию с помощью следующего API, я фиксирую ее в браузере.Кажется, небольшой взлом.
Get https://main.iam.ad.ext.azure.com/api/UserDetails/{userId}
О том, как получить токен доступа, см. Этот блог .
Примечание: Я не нахожу этот APIв официальном документе Azure.Пожалуйста, не используйте его для продукта, вы можете использовать его для тестирования.