Как найти URL-адрес согласия администратора для приложения Azure AD, для которого требуется разрешение Microsoft Graph «Чтение данных каталога»? - PullRequest
0 голосов
/ 15 ноября 2018

Я рассматриваю следующий пример:

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

Для запуска примера мне нужно разрешение Directory.Read.All на Microsoft Graph:

Настройка разрешений для вашего приложения. В той степени, в В меню «Настройки» выберите раздел «Необходимые разрешения», а затем нажмите кнопку Добавить, затем выберите API и введите Microsoft Graph в текстовое окно. Затем нажмите «Выбрать разрешения» и выберите Directory.Read.All .

Directory.Read.All требуется согласие администратора Azure AD.
Мое приложение Azure AD не имеет веб-интерфейса пользователя.

Какие у меня есть варианты, чтобы наш администратор Azure AD давал согласие, не занимая слишком много времени?

Наш администратор Azure AD - это загруженный и дорогой ресурс. Требуются усилия, чтобы забронировать его время, и я надеюсь, что смогу отрепетировать процесс согласия, прежде чем привлекать его.

1 Ответ

0 голосов
/ 15 ноября 2018

У вас есть два варианта: использовать портал Azure или создать URL-адрес согласия.

  1. С порталом Azure

    Если приложение зарегистрировано в том же клиенте Azure AD, для которого вы хотите получить разрешение, вы можете попросить администратора пройти регистрацию приложения на портале Azure, а затем перейти к Настройки > Требуемые разрешения и нажмите Предоставить разрешения :

    image Grant permissions">

    В новом (по состоянию на 2018-11-14) опыте регистрации приложений (Предварительный просмотр) это под API permissions > Предоставить согласие администратора на ... :

    image Grant admin consent">

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

  2. Создание URL согласия

    Даже если в вашем приложении нет веб-интерфейса, технически вы все равно можете создать URL-адрес, чтобы запросить согласие администратора, хотя это не очень удобно. Подробная информация о том, как создать URL согласия администратора, находится в документации: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#request-the-permissions-from-a-directory-admin.

    Самая простая форма этого:

    https://login.microsoftonline.com/common/adminconsent?client_id={client-id}
    

    При таком подходе, как только администратор предоставит согласие, он будет перенаправлен на один из авторизованных URL-адресов ответов, настроенных при регистрации вашего приложения (или на конкретный URL-адрес, если вы используете параметр redirect_uri). Если этот URL-адрес не существует, браузер отобразит ошибку (например, 404). Если для регистрации приложения не настроены URL-адреса ответов, в Azure AD отобразится ошибка (например, «URL-адреса не настроены»). Вы должны предупредить администратора, что это может произойти, но поскольку эти ошибки будут отображаться после того, как согласие уже применено, их можно игнорировать.

...