Я пытаюсь запросить следующие 3 области для oauth из каталога Azure v2: user.read, user.readbasic.all, calendars.readwrite.
Мой запрос GET авторизации
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?'
+ '&client_id=myclientid'
+ '&response_type=code'
+ `&redirect_uri=myredirecturl`
+ '&response_mode=query'
+ '&scope=user.read%20user.readbasic.all%20calendars.readwrite'
+ '&prompt=consent';
Обратите внимание, что я исключил изменение типа согласия с момента последнего разрешения.
Я успешно получил код и обменял его на токен:
axios.post(
'https://login.microsoftonline.com/common/oauth2/v2.0/token',
querystring.stringify(
{
client_id: my_client_id,
client_secret: my_app_secret,
grant_type: 'authorization_code',
code,
scope: 'user.readbasic.all user.read calendars.readwrite',
redirect_uri: my_redirect_url
},
null,
null,
{ encodeURIComponent: s => encodeURI(s) }
)
);
- Я не вижу никакого сообщения о согласии для
user.readbasic.all
при входе в систему - Я не получаю
User.ReadBasic.All
в ответе за область действия токена, который я получаю. - Я получаю user.read и calendars.readwrite
Обновление Полагаю, я сужаю проблему до изменения областей или типа арендатора.Несмотря на то, что я имею приглашение = согласие в качестве параметра, я не получаю область user.readbasic.all в своем личном кабинете.Когда я отправляю ссылку авторизации другим пользователям организации, они получают полный список разрешений.Почему есть две разные страницы разрешений для разных пользователей?Два скриншота: