User.ReadBasic.All scope not provided, v2

Я пытаюсь запросить следующие 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) }
)

);

  1. Я не вижу сообщения о согласии для user.readbasic.all при входе в систему
  2. Я не получаю User.ReadBasic.All в ответе на предмет вознаграждения за токен.
  3. Я получаю user.read и calendars.readwrite

Обновлять Я считаю, что сужаю проблему к изменению объема или типа арендатора. Хотя в качестве параметра у меня есть prompt = согласие, я не получаю область user.readbasic.all в моей личной учетной записи. Когда я отправляю ссылку для авторизации другим пользователям организации, они получают полный список разрешений. Почему для разных пользователей существуют две разные страницы разрешений? Два скриншота: User.ReadBasic.All scope not provided, v2User.ReadBasic.All scope not provided, v2

Вы добавили делегированные разрешения user.readbasic.all в это приложение AADv2?

Wayne Yang 14.05.2018 03:53

да, я сделал это на apps.dev.microsoft.com

Nth.gol 14.05.2018 03:56

Попробуйте использовать https%3A%2F%2Fgraph.microsoft.com%2Fcalendars.readwirte%20 https%3A%2F%2Fgraph.microsoft.com%2Fuser.read%20 https%3A%2F%2Fgraph.microsoft.com%2Fuser.readbasic.all в прицеле.

Wayne Yang 14.05.2018 04:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
683
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Метод stringify() преобразует ваш объект в application/json. Это неверно, это должен быть application/x-www-form-urlencoded.

Подробнее о том, как это сделать с помощью Axios, см. этот выпуск GitHub.

Кроме того, личные учетные записи (MSA) не могут «читать основные профили всех пользователей». В качестве «личной» учетной записи связан только один пользователь.

Личные аккаунты не могу читают «базовые профили всех пользователей». Это личный кабинет, в нем только один пользователь.

Marc LaFleur 15.05.2018 18:42

Точка зрения Марка о личных счетах решила мой вопрос. Поскольку мне были предоставлены другие возможности, в настоящее время у меня нет оснований полагать, что stringify была причиной каких-либо проблем.

Nth.gol 15.05.2018 20:32

Другие вопросы по теме