OAuth 2.0 Поток неявного предоставления - API чтения календаря возвращает 403 - PullRequest
0 голосов
/ 04 мая 2020

Может кто-нибудь помочь мне найти решение для приведенной ниже проблемы?

Резюме: Я получаю 403 для Microsoft Graph Calendar Read API.

Деталь Я использую платформу идентификации Microsoft с механизмом неявного предоставления прав для входа пользователя из своей учетной записи Microsoft в мое приложение. Я запрашиваю в параметре области с этими разрешениями "профиль User.Read Calendars.Read Calendars.ReadWrite"

Ниже все работает после успешного входа в систему. 1) просит разрешения предоставить 2) Microsoft oauth2.0 логин. 3) Профиль в будущем.

Но по какой-то причине, когда я пытаюсь прочитать "календарь" , я получаю 403 только для одного аккаунта всего арендатора . Я прошел по ссылке ниже для описания ошибки, но не смог найти решение https://docs.microsoft.com/en-us/graph/errors

Может кто-нибудь указать мне, где мне нужно найти решение для вышеуказанной проблемы? Это проблема учетной записи или мне нужно изменить запрос API. Ниже API я использую, чтобы читать календарь

https://graph.microsoft.com/v1.0/me/calendar/calendarView?startDateTime= $ {sd} & endDateTime = $ {ed}

1 Ответ

1 голос
/ 04 мая 2020

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

enter image description here

Здесь я перечислю некоторые моменты, на которые нужно обратить внимание при запросе этого графика api:

1. Как вы упомянули в своем вопросе, вы запрашиваете в области параметр с разрешениями «Calendars.Read Calendars.ReadWrite», поэтому вы добавили эти два разрешения в приложение AD? Если вы не добавили их, добавьте их в свое приложение AD ( добавьте их в «Делегированные разрешения», но не в «Права доступа к приложению», я проверяю, если мы добавим их в «Разрешения для приложения», будет показано 403 ошибка, поскольку неявный поток требует «делегированных разрешений» ). enter image description here

2. После добавления двух разрешений не забудьте дать им согласие администратора. enter image description here

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