Как вызвать Azure Graph Api с помощью почтальона - PullRequest
4 голосов
/ 18 апреля 2019

Я пытаюсь вызвать graph api для получения информации о пользователе.Я использую почтальон, чтобы сначала получить токен, а затем использую этот токен, пытаясь сделать запрос к графику api

. Я получаю токен с нижеприведенным пост-запросом и 4 значениями ключа для grant_type, client_id, client_secret and resource.

* 1005.*

Ответ:

{
    "token_type": "Bearer",
    "expires_in": "3600",
    "ext_expires_in": "3600",
    "expires_on": "1555583717",
    "not_before": "1555579817",
    "resource": "https://management.azure.com/",
    "access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxNiIsIng1dCI6IkhCeGw5bUFlNmd4YXZDa2NvT1UyVEhzRE5hMCIsImtpZCI6IkhCeGw5bUFlNmd4YXZDa2NvT1UyVEhzRE5hMCJ9.yyyyyyyLTBjYjZmZDNiM2UwNCIsInRpZCI6IjM3NGY4MDI2LTdiNTQtNGEzYS1iODdkLTMyOGZhMjZlYzEwZCIsInV0aSI6ImVWTWdDbkU4QWtPVXY3bFQ2QlRSQUEiLCJ2ZXIiOiIxLjAifQ.kxHCm2oGsuUvlXbncXQe7Wb0l-ZENqqG9_P_co0SPdYA3GkhFKDi6sQ7OaaHeDs4S6kN0-Diw5qBOzmFipSA5EUorA7UDbJfiSVVlaEzLY3IX_4WSV4Exc-kLOaX0j7KgvsEQbc5TEk8e4dPfokG98gGPmhy19xLyV84lX1v6DzgXINzP8gPkGmqR_J7iVFQ3m-Y18dHlxDpqQMTKxvQGnrsa7rflyxGUwEwwFZJH8t5NRv_mjQOIQBuosfhMAH88l-J8zEmXWLFqEzFBBWrz9UxT6X-XxRQZW4WBSoHTKd3vuBcEo6kUclfe4G7COOvI4zG0-j10mmGziKlzjNVMw"
}

Затем я использую токен, чтобы сделать запрос GET

https://graph.windows.net/{{company}}/users/{{email}}?api-version=1.6 

и заголовок

Key                     Value
Authorization         Bearer {{token}}

, но с этим не получаетсяошибка

{
    "odata.error": {
        "code": "Authentication_MissingOrMalformed",
        "message": {
            "lang": "en",
            "value": "Access Token missing or malformed."
        }
    }
}

Как правильно сделать запрос к графу API?

1 Ответ

0 голосов
/ 18 апреля 2019

Обновленный ответ в зависимости от вашего случая

Хорошо, я показываю шаг с самого начала.Убедитесь, что вы точно выполнили следующий шаг.

Шаг: 1: Регистрация приложения

Перейдите на портал Azure и нажмите azure active directory,Теперь нажмите App registrations и введите имя для вашего приложения.Убедитесь, что вы выбрали Web app / API в качестве типа приложения.Поместите любое значение Sign on URL, оно не оказывает никакого влияния.

См. Снимок экрана ниже:

enter image description here

Шаг: 2 Конфигурация приложения

Настройте параметры приложения, щелкнув параметр settings.Скопируйте Application Id, который является вашим идентификатором клиента.Создайте ваше client_secret в меню Key.Теперь нажмите на Required permission вариант и нажмите Add в новом окне.Выберите Select an API выберите Microsoft Graph Затем выберите его.

См. Снимок экрана ниже

enter image description here

Итак, ваша конфигурация портала Azure настроенавсе установлено.

Шаг: 3 потока доступа к токену

Для получения токена я использую Поток предоставления учетных данных клиента OAuth 2.0 .Пусть сработает POSTMAN Введите конечную точку вашего токена, как показано ниже:

https://login.microsoftonline.com/`YourTenantNameOrID`.onmicrosoft.com/oauth2/token

Введите следующие данные в правильном формате:

grant_type: client_credentials

client_id: ваш идентификатор приложения портала

client_secret: ключ вашего приложения

ресурс: https://graph.microsoft.com/

Примечание: Я использую Microsoft Graph API, поэтому ресурс выбрал // graph.microsoft.com/

См. Снимок экрана для получения более подробной информации

enter image description here

Шаг: 4 Проверка заявок на вашем токене

Вы можете убедиться, что ваш токен содержит необходимую информацию, проверивэто претензии на JWT.Вы можете использовать https://jwt.io/ для подтверждения вашего токена.

См. Рисунок претензий ниже:

enter image description here

Шаг: 5 Получите доступ к ресурсу API Microsoft Graph

  1. Определите URL ресурса API Microsoft Graph

Например: https://graph.microsoft.com/v1.0/users

Выберите свой API http verb Выберите свой тип токена для токена на предъявителя Введите свой токен в текстовое поле слева токена

Вы закончили, нажмите кнопку отправить ипроверьте свой ответ, как ожидалось.Подробнее см. Снимок экрана.

Формат запроса:

enter image description here

Ответ от API:

Response From API

Примечание: Убедитесь, что у вас есть разрешение на доступ к ресурсу, если только вы не получите сообщение об ошибке отказа в доступе.

Для получения дополнительной информации вы можете посмотреть здесь

Если у вас возникли какие-либо сомнения, не стесняйтесь спрашивать в строке комментария.Спасибо и счастливого кодирования!

...