Azure AppService с аутентификацией пользователя AD - PullRequest
0 голосов
/ 27 мая 2020

Представьте себе такой сценарий: у меня есть приложение Web API, развернутое на azure как сервис приложения. Я хочу реализовать действия на основе ролей в этом веб-API. Проблема в том, что этот API будет вызываться из других продуктов MS, таких как Dynamics CRM, Sharepoint Online и т. Д. c. и действия должны вызываться как аутентифицированный пользователь из этого другого продукта. Итак, чтобы упростить:

  1. Пользователь входит в Dynamics CRM
  2. Некоторые действия будут вызываться из веб-API
  3. Мне нужно получить информацию о who вызываемое действие в коде веб-API, чтобы проверить, имеет ли пользователь право на самом деле вызывать это действие

У вас есть материалы, руководства о том, как этого добиться? Мы потратили много времени на изучение этого вопроса и не нашли никакой информации о таком простом случае.

1 Ответ

0 голосов
/ 28 мая 2020

Я считаю, что вы ищете групповое заявление или роли приложения .

Для группового утверждения вы можете добавить пользователей в разные группы безопасности и включить группы требовать в своем токене. Вам просто нужно изменить поле «groupMembershipClaims» в манифесте приложения:

"groupMembershipClaims": "SecurityGroup"

Тогда токен ID будет содержать идентификаторы групп, к которым принадлежит использование, как показано ниже:

{
  "groups": ["{group id}"]
}

Тогда вы можете реализовать код logi c в своем коде с помощью идентификатора группы.

Для ролей приложений, я думаю, это может быть более применимо к вам. Вы можете добавлять роли приложений в свое приложение и получать их в токене . После настройки вы получите заявку на роль приложения в токене идентификатора авторизованного пользователя. Затем вы можете выполнять суждения на его основе.

Дополнительная информация здесь: Использование групп и использование ролей приложений для авторизации в Azure приложениях AD .

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