Неверный токен при вызове API графа - PullRequest
1 голос
/ 17 марта 2019

Я хотел бы видеть полную информацию о моих пользователях в AD (пользователи в группах и т. Д.). У меня уже есть приложение, которое входит в AD, а затем я получаю токен на предъявителя, который имеет доступ к моей лазурной цепочке блоковAPI рабочей среды и все работает отлично.API рабочей среды имеет конечную точку пользователя, но информация ограничена, в нем есть имя, фамилия, адрес электронной почты и т. Д., И я хотел бы узнать больше.

При попытке вызвать https://graph.microsoft.com/v1.0/me конечная точка с токеном носителя, который у меня уже есть, недействительна, и я получаю:

{

    "odata.error": {

    "code": "Authentication_MissingOrMalformed",

    "message": {

        "lang": "en",

        "value": "Access Token missing or malformed."

    },

    "requestId": "47322d1e-24d5-4170-ace5-947a8725ec1c",

    "date": "2019-03-13T08:14:37"

    }

}

Я также попробовал другой подход.У меня есть субъект службы и я дал этому субъекту основную информацию Windows Active Directory о привилегиях пользователей.Я также дал ему привилегию Microsoft Graph, а также привилегию для приложения mu blockchain (не уверен, если нужно).

Я звоню https://login.microsoftonline.com/{{tenant-id}}/oauth2/token с телом учетных данных клиента и получаю токен на предъявителя,Теперь с этим токеном на предъявителя я получаю:

{

    "error": {

        "code": "Authorization_RequestDenied",

        "message": "Insufficient privileges to complete the operation.",

        "innerError": {

            "request-id": "2a7febaa-a6db-4770-a323-1971fa0bf863",

            "date": "2019-03-17T13:54:57"

        }

    }

}

1 Ответ

3 голосов
/ 18 марта 2019

Токен доступа необходимо приобрести для Microsoft Graph API в качестве ресурса.

При первом подходе токен, который у вас уже есть для API рабочей среды, не будет работать для Microsoft Graph, потому что этот токен предназначен для Workbench API. Вы можете проверить это, посмотрев заявление aud на этот токен. Вы можете декодировать токен используя https://jwt.ms

При втором подходе токен должен работать, если вы указали ресурс, для которого вы приобретаете токен, https://graph.microsoft.com, а не API рабочей среды. Если у вас по-прежнему возникают проблемы, поделитесь кодом, который вы используете для получения токена, или самим декодированным токеном (без какой-либо конфиденциальной информации)

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