Azure Active Directory B2C - График запросов - Недостаточные права

Итак, я пытаюсь подключить приложение mvc к AAD B2C и получить текущие группы пользователей, чтобы добавить их к их ролям. К сожалению, мне не удается запросить график.

Ошибка недостаточных прав при попытке доступа к API-интерфейсам Azure Graph

Ссылка выше - это, по сути, ситуация, в которой я нахожусь, за исключением того, что я подключаюсь к каталогу B2C. Насколько я могу судить, у меня нет способа указать привилегии, как это было предложено в ответе на этот вопрос. Есть раздел «Ключи», но ключи, которые он генерирует, действительно сильно отличаются от ключей, которые генерируются обычными приложениями AD.

Когда я все же пытаюсь использовать ключ, я получаю сообщение об ошибке недостаточных прав.

Я также попытался найти свое приложение в основном, обычном AD и добавить ключи и ВСЕ разрешения, но я также получил ту же ошибку (и, похоже, я не вижу никакого способа определить, подошел ли я даже ближе)

Что еще больше усугубляет путаницу, есть разные способы получить доступ к зарегистрированным «приложениям» на портале Azure. Я могу войти через настройки B2C или через обычные настройки AD. Что касается B2C, я могу генерировать ключи (но, как я уже сказал, они сильно отличаются от ключей, сгенерированных на стороне AD), но я не могу ничего сделать с привилегиями ... такой возможности нет. на стороне AD я на самом деле вижу два приложения для своего 1 приложения B2C ... похоже, что есть одно, которое имеет тот же идентификатор, что и приложение B2C (но использование этого ключа и привилегий ничего не делает), а есть другое, которое также не Похоже, что у меня нет каких-либо полезных качеств, которые я выяснил.

У меня нет идей. Что еще можно попробовать?

редактировать

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

С этой целью я добавил все доступные разрешения как в «Windows Azure Active Directory», так и в «Microsoft Graph» ... Никаких улучшений, у меня все еще нет необходимых прав. Думаю, я добавлю ВСЕ доступные разрешения и посмотрю, поможет ли это.

- Нет, мне нужно добавить НЕТ оставшихся привилегий, но я все равно получаю сообщение об ошибке «Недостаточные привилегии».

Кроме того, создание логина-пользователя администратором AD не имеет никакого значения.


person reidLinden    schedule 07.11.2016    source источник


Ответы (1)


Скорее всего, в вашем потоке отсутствует так называемое согласие администратора. По сути, недостаточно предоставить разрешения (те, которые помечены как «Требуется администратор») с использованием портала, но также пользователь с правами администратора должен дать согласие на это предоставление. Сложность в том, что это согласие не отображается автоматически, когда пользователь-администратор входит в систему (как это происходит с обычным согласием пользователя). Вам нужно добавить параметр prompt=admin_consent к URL-адресу страницы, на которой вы вводите учетные данные, нажимаете ввод и затем входите в систему. В этом случае вы увидите согласие администратора с вопросом, хотите ли вы предоставить разрешения. Вы можете узнать больше о согласии администратора здесь: https://docs.microsoft.com/en-us/azure/active-directory/active-directory-devhowto-multi-tenant-overview#understanding-user-and-admin-consent .

Я также обсуждаю эту проблему здесь: https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console/issues/38#issuecomment-264664883

person sich    schedule 03.12.2016
comment
Спасибо за ответ. Отсюда это выглядит разумным. К сожалению, я, вероятно, не смогу протестировать это, поскольку наш проект немного поменял передачи (отчасти, чтобы обойти эту проблему, но также потому, что b2c не будет создавать вложенные группы, что было функцией, которую мы были в зависимости от) - person reidLinden; 09.12.2016