Параметры регистрации приложения Azure AD для получения групп и пользователей с помощью веб-интерфейса ASP.NET - PullRequest
0 голосов
/ 28 февраля 2019

Я получаю 403 запрещенного доступа при попытке получить все группы из графа Microsoft с помощью ASP.NET Web API, и вот мой код для получения всех групп:

String jsonResponse = MicrosoftGraphHelper.MakeGetRequestForString (  
                String.Format("{0}users/{1}/memberOf",  
                    MicrosoftGraphHelper.MicrosoftGraphV1BaseUri,  
                    upn));  
            var userGroups = JsonConvert.Deser

Что такоетребуются разрешения на вкладках «Делегированный» и «Приложение» для извлечения пользователей и групп?Нужны ли мне разрешения для приложений, так как это API, а мой пользовательский интерфейс развернут в Azure отдельно?Я запутался со списком параметров разрешений и согласием администратора.

1 Ответ

0 голосов
/ 01 марта 2019

Во-первых, это отличное чтение, если вы еще его не видели.

Делегированные разрешения, разрешения приложений и действующие разрешения - справочник разрешений Microsoft Graph.

Каковы требуемые разрешения на вкладках «Делегированный» и «Приложение» для извлечения пользователей и групп?

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

  1. Для users/{1}/memberOf это будет Список участниковOf

    enter image description here

  2. Для получения всех групп - Список групп

    enter image description here

Если в вашем приложении только эти два вызова, Directory.Read.All будет наименьшей требуемой привилегией.Если есть другие вызовы, посмотрите их документацию.

Нужны ли мне разрешения для приложений, поскольку это API, а мой пользовательский интерфейс развернут в Azure отдельно?

Это будет зависеть от того, в каком контексте вы приобретаете токен для вызова Microsoft Graph API.Поделитесь чуть-чуть более подробной информацией о вашем коде. Поток OAuth, который вы используете для получения токена, и вы можете получить более точные предложения, специфичные для вашего приложения.Тем не менее, в целом,

  • Если вы приобретаете токен как пользователь, то Delegated permissions (Например, если вы приобретаете токен, запрашивая у пользователя учетные данные и с точки зрения потока, если выиспользуя, скажем, код авторизации или поток предоставления Implict)

  • Если вы приобретаете токен в качестве приложения, то Application permissions (Пример, если вы используете только clientId, clientSecret / Certificate для получения токена с помощью ClientПоток учетных данных)

Требуется согласие администратора или нет?

Это зависит от того, какие разрешения вы в итоге решаетекак требуется для вашего приложения.

  1. Вы можете увидеть его непосредственно на портале Azure. При установке необходимых разрешений для приложения каждое разрешение имеет «да» или «нет» рядом с ним, чтобы указать, требуется ли согласие администратора или нет.В качестве примера см. Снимок экрана ниже.

    enter image description here

  2. Справочник по разрешениям для графиков Microsoft .. Первая ссылка, которой я поделился, имеет все задокументированные разрешения,Вот пример, который вам подходит.

enter image description here

...