Я хочу запросить группы пользователей. согласно https://graph.microsoft.io/en-us/docs/platform/rest я делаю следующие шаги:
Получить код
https://login.microsoftonline.com/common/oauth2/authorize? response_type=id_token%20code& client_id=<MY_CLIENT_ID>& redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fopenid%2Freturn response_mode=query& nonce=F8GtCajiXYKcGBtw& scope=openid%20https%3A%2F%2Fgraph.microsoft.com%2FGroup.Read.All%20Group.Read.All& resource=https%3A%2F%2Fgraph.microsoft.com%2F& state=HTlUWuV5su%2BG4zBE#
Примечание. Предоставляются 3 области (openid, Group.Read.All, https://graph.microsoft.com/Group.Read.All)
а затем я вхожу в систему, ответ AAD на мой веб-сайт:
http://localhost:3000/auth/openid/return?
code=<Recieved_Code>&
id_token=<Recieved_id_Token>&
state=xxxx&
session_state=yyy
- Получить access_token
POST https://login.microsoftonline.com/common/oauth2/token Content-Type: application/x-www-form-urlencoded { grant_type=authorization_code &code=Recieved_Code_from_step_1 &redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fopenid%2Freturn &resource=https%3A%2F%2Fgraph.microsoft.com%2F &client\_id= &client\_secret= }
и это возвращает JSON
{
"token_type":"Bearer",
"scope":"User.Read",
"resource":"https://graph.microsoft.com/",
"access_token":<Access_token_in_here>,
... other fields
}
Примечание. Возвращается только область User.Read
Я использую access_token из шага 2) для выполнения запроса
- Пользователь запроса в порядке: https://graph.microsoft.com/v1.0/me/ < / а>
- Запрещена группа запросов: https://graph.microsoft.com/v1.0/me/memberOf и выдает ошибку "Недостаточно прав для завершения операции".
Итак, почему я запрашиваю разрешение на 3 области, но получаю разрешение только на одну область?