Azure ADAL с веб-API и собственным приложением - PullRequest
0 голосов
/ 01 мая 2018

В настоящее время у меня есть приложение Xamarin Forms, которое правильно входит в систему и использует Microsoft Azure AD для проверки подлинности перед доступом к веб-API, также настроенному в Azure.

Теперь я хочу добавить авторизацию на основе ролей, как я это делал, используя IdentityServer 4.0. Итак, в моем webapi я положил это на мой контроллер:

[Authorize(Roles = "SOMEDOMAIN\\ADGroup")]

Так что теперь я пытаюсь следить за документацией в Интернете, но люди недостаточно описательны. У меня есть 1 вопрос, но позвольте мне сначала объяснить мои настройки.

Для моего родного приложения Xamarin

Под "Требуемые разрешения"

  • Я уже добавил Windows Azure Active Directory
  • Я уже добавил свой веб-интерфейс

Я редактировал Манифест

  • "groupMembershipClaims": "SecurityGroup",

Для моего веб-интерфейса

Под "Требуемые разрешения"

  • Я уже добавил Windows Azure Active Directory

Я редактировал Манифест

  • "groupMembershipClaims": "SecurityGroup",

Вопрос

1) Нужно ли в каждом приложении выше включать Read Directory Data для разрешения Windows Azure Active Directory? Если нет, то кому это нужно?

1 Ответ

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

В Манифесте приложения "groupMembershipClaims": "SecurityGroup" должен добавить утверждение groups к JWT. Затем вам просто понадобится ObjectId в Azure AD для группы (групп) безопасности, на которую вы пытаетесь настроить таргетинг, подробно обсуждаемые здесь . Информация о группе является частью id_token, согласно документации здесь ,

Предоставляет идентификаторы объектов, которые представляют членство группы в субъекте. Эти значения являются уникальными (см. Идентификатор объекта) и могут безопасно использоваться для управления доступом, например, для принудительной авторизации доступа к ресурсу. Группы, включенные в заявку о группах, настраиваются для каждого приложения через свойство groupMembershipClaims манифеста приложения. Значение null исключит все группы, значение «SecurityGroup» будет включать только членство в группах безопасности Active Directory, а значение «All» будет включать в себя как группы безопасности, так и списки рассылки Office 365.

Кроме того, прочитайте, что на репозитории Github для библиотеки ADAL есть очень тщательная Вики здесь .

Кроме того, здесь есть несколько полезных ресурсов по этому требованию groups, и последний пример решения:

http://www.cloudidentity.com/blog/2013/01/22/group-amp-role-claims-use-the-graph-api-to-get-back-isinrole-and-authorize-in-windows-azure-ad-apps/

https://www.red -gate.com / простые разговор / облако / безопасность и правила / лазурь-активный каталог часть-4-группа претензии /

https://azure.microsoft.com/en-gb/resources/samples/active-directory-dotnet-webapp-groupclaims/

...