Как получить список пользователей из API Azure Graph - PullRequest
1 голос
/ 03 июня 2019

Я пытаюсь получить список пользователей Azure Ad, используя Graph API. Я получил токен доступа по следующему запросу:

https://login.microsoftonline.com/<tenant-Id>/oauth2/token

enter image description here

Я получил ответ ниже:

{
    "token_type": "Bearer",
    "expires_in": "3600",
    "ext_expires_in": "3600",
    "expires_on": "1559555742",
    "not_before": "1559551842",
    "resource": "https://graph.microsoft.com",
    "access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkFRQUJBQUFBQUFEQ29NcGpKWHJ4VHE5Vkc5dGUtN0ZYUy1XcWZRa2RmUmVnSVJfWE4yLXdYSFZwLXJKdlltcWVzTzAwSmd1V2dJOVVQUVBWbldScjhtZjM1SHhXblhFcWhIMVlWY1Y2NlYS00ZTE1LTQ0NWEtOTM0Ni02YTBhOGQxN2UxOTYvIiwib2lkIjoiYzE0YzFlYmEtYzExMS00ZmMxLTllYjAtYTJmNGMwNjg4MDEyIiwic3ViIjoiYzE0YzFlYmEtYzExMS00ZmMxLTllYjAtYTJkKgCbMg5jElY2I83cKpRos6Jti3SUYIVTYiyF__gMsKzCQWgRZFUWnTi7syaypCrPEExPw_OMRJMNMOrYixTBZjwUi0H6ThGNxQOMt5mXhzvlVYRMdyChdmv4r2-JK-LX9yjBN8BWG78e3FYhWQCRERh5H3zNpdX1ln79QY38mhn-XJViA2vX-VCYqZhoUo-c_iR-_HZ3CLCHxRxgRHtT_oGXuX1Kegxo3F6FsuQ2Vj1WT5VjCRGCi71pY_lU_EROzkLdefS84fur4jBawvd1ccCf8u9U0kYy3xu0m02wNxKPe2Weg"
}

Получив токен, я обращаюсь к этой ссылке и использую приведенный ниже URL для получения списка пользователей:

https://graph.microsoft.com/v1.0/users

а также передача токена в заголовке, но ошибка ниже:

{
    "error": {
        "code": "InvalidAuthenticationToken",
        "message": "CompactToken parsing failed with error code: 80049217",
        "innerError": {
            "request-id": "f03e6cc4-1888-406d-9ee4-2558b96e7fb4",
            "date": "2019-06-03T09:22:30"
        }
    }
}

enter image description here

На данный момент я делаю это из почтальона, но позже я должен сделать это из скрипта Python. Кто-нибудь может подсказать, пожалуйста, что здесь не так. Спасибо

Ответы [ 2 ]

1 голос
/ 03 июня 2019

Кажется, вы пытаетесь получить user list с помощью Microsoft Graph.Для этого выполните следующие действия:

Разрешение портала Azure:

Перейдите к своему клиенту портала Azure и установите ниже разрешение в меню API permissions.См. Снимок экрана ниже:

enter image description here

См. Разрешение на применение, как показано ниже:

enter image description here

Сделайте то же самое для специального разрешения.См. Специальное разрешение ниже

enter image description here

Ваше разрешение должно выглядеть следующим образом:

enter image description here

Запрос токена:

Отправьте запрос на конечную точку токена с вашими учетными данными.Как показано ниже:

enter image description here

Расшифровка токена и разрешение на проверку:

После получения токена убедитесь, чтоhttps://jwt.io/, что ваш токен содержит необходимые разрешения, как показано ниже:

enter image description here

Запрос списка пользователей

Inна этом этапе добавьте свой токен на Type, как bearer token, вставьте свой токен в текстовое поле токена и нажмите кнопку отправить.

enter image description here

ПолучитьСписок пользователей:

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

enter image description here

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

1 голос
/ 03 июня 2019

Вы можете выполнить следующие шаги.

1.В вашем приложении AD -> API permissions -> Add a permission -> выберите Microsoft Graph -> Application permissions -> User.Read.All -> нажмите Add permissions -> нажмите Grant admin consent for xxx

2. Используйте поток учетных данных клиента для получения токена доступа.

enter image description here

3.Тогда вы можете использовать токен, возвращенный на шаге 2, для вызова API графа MS, он должен работать.

enter image description here

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