Можно ли дать регистрации приложения роль в потоке учетных данных клиента? - PullRequest
1 голос
/ 01 мая 2019

У меня есть .Net Core Web API «A», который вызывается как клиентом «B», так и клиентом «C».

Я хочу ограничить доступ к некоторым частям API, предоставив Клиенту C роль?

Я прочитал это руководство https://joonasw.net/view/defining-permissions-and-roles-in-aad

Но для этого требуется согласие приложения. Я хочу обойти это согласие, так как это все фоновые приложения.

Спасибо

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Вы можете использовать раздел «Авторизованные клиентские приложения» в колонке «Expose a Api» регистрации вашего приложения на новом портале Azure AD для приложений с предварительным согласием.

Обработка кода для сценарияВы пытаетесь предоставить здесь .

0 голосов
/ 02 мая 2019

Во-первых, подход, который вы пытаетесь использовать на основе блога (довольно подробный), верен и работает нормально.В конце я покажу пример токена, полученного на основе этого подхода.

Я хочу обойти это согласие, поскольку это все фоновые приложения.

Вы НЕ будетебыть в состоянии обойти процесс согласия администратора для разрешений приложений.

Подробнее об этом можно прочитать здесь на Документах Microsoft .Вот небольшая выдержка

enter image description here

Хорошая часть заключается в том, что это однократный процесс (если только администратор намеренно не отменит его в какой-то более поздний момент), т.е.После того как администратор предоставит согласие на подачу заявления, вам не нужно будет повторять этот процесс как часть получения токена или выполнения вызовов вашего API.

Параметры :

  1. Используйте конечную точку согласия администратора.Это самый распространенный и удобный способ.Подробнее об этом можно прочитать здесь. Запросить разрешения у администратора каталога

     GET https://login.microsoftonline.com/{tenant}/adminconsent?client_id={yourclientid}&state=12345&redirect_uri=http://localhost/myapp/permissions
    
  2. Создать appRoleAssignment для участника службы с помощью API-интерфейса Azure AD Graph.

Образец декодированного токена с ролями

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

enter image description here

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...