azure ad b2 c График API разрешения - PullRequest
1 голос
/ 23 января 2020

У меня есть вопрос о доступе к Microsoft Graph Api после входа пользователя в систему через Azure Ad B2 C. Я пытаюсь перенести свое приложение для входа через b2clogin.com вместо login.microsoft.com, и в основном оно работает, за исключением того, что я больше не могу вызывать Microsoft Graph Api, чтобы получить профиль входа в систему.

У меня есть настроить Postman как приложение в моем клиенте B2 C и настроить разрешения API для https://graph.microsoft.com/User.Read, но когда я пытаюсь получить токен с областью действия https://graph.microsoft.com/User.Read, я получаю следующая ошибка

AADB2C90205: у этого приложения недостаточно прав для этого веб-ресурса для выполнения операции

Я не уверен, что означает эта ошибка, но когда я смотрю при входе пользователя в портал я вижу 3 входа.

Первый имеет статус «Прервано с причиной сбоя»

Приложение попыталось выполнить вход в режиме без вывода сообщений, и пользователь не мог выполнить вход в режиме без вывода сообщений. Приложение должно запустить интерактивный поток, предоставляя пользователям возможность войти в систему. Связаться с владельцем приложения.

Второй имеет статус «Прервано с причиной сбоя»

Приложение X не выполняет У вас нет разрешения на доступ к приложению Y, или разрешение было отозвано. Или Пользователь или администратор не дал согласие на использование приложения с идентификатором X. Отправьте интерактивный запрос авторизации для этого пользователя и ресурса. Или Пользователь или администратор не дал согласие на использование приложения с идентификатором X. Отправьте запрос на авторизацию своему администратору клиента, чтобы он действовал от имени Приложения: Y для Ресурса: Z.

Третий имеет статус Успешный

Я несколько дней просматривал документацию, пытаясь это выяснить.

Мне не хватает какой-то конфигурации, мне нужен доступ к Microsoft Graph Api для B2 C пользователь?

1 Ответ

0 голосов
/ 25 января 2020

Настройка, которую вы описываете, на самом деле невозможна. Вы создали App Reg в блейде AAD и назначили разрешения для графика Ms. Тогда полученная ошибка относится к конечной точке AAD B2 C, а не к конечной точке AAD, для которой создано ваше приложение (поскольку приложениям AAD B2 C не могут быть назначены разрешения для Graph api). Итак, вы использовали приложение AAD и попытались выполнить аутентификацию на конечной точке B2 C - это не будет работать должным образом.

Вы не можете получить доступ к ms графику через пользователя B2 C, аутентифицированного на B2 * 1012. * конечные точки.

Доступ к графу мс можно получить через пользователя AAD или пользователя AAD в каталоге B2 C через конечные точки AAD каталога AAD или AAD B2 C.

В B2 * В сценарии 1015 * нормальным шаблоном является аутентификация пользователя на конечных точках B2 C и проверка подлинности вашего API на конечных точках AAD с использованием учетных данных клиента для получения доступа к Graph API и выполнения операций от имени пользователя.

...