Microsoft Graph API с предоставлением пользователей Azure

Я хочу сделать очень просто: подготовить Office 365 и учетную запись Azure из своего веб-приложения. И я хочу, чтобы он был доступен не только для меня, но и для всех ИТ-отделов (в том числе из других организаций), которые регистрируются в моем приложении.

Насколько я понимаю, я должен предпринять следующие шаги:

  • Зарегистрируйте приложение на apps.dev.microsoft.com и получите ID и секрет.
  • Включить области, которые меня интересуют (в моем случае Directory.ReadWrite.All и User.ReadWrite.All) - включено как из делегированных разрешений, так и из разрешений приложений
  • Пройден ПРОЦЕСС ВХОДА

    https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=[My клиент] & response_type = code & redirect_uri = [Моя учетная запись] /Account/Office&response_mode=query&scope=openid%20User.Read%20offline_access%20Directory.ReadWrite.All

  • Подтвердите код, который я получаю обратно на свой URL-адрес возврата

POST https://login.microsoftonline.com/common/oauth2/v2.0/token?...secret and so on...

Теперь я получаю объект с токеном доступа, токеном продления и т. Д. И т. Д.

Если я использую его для привлечения пользователей, все работает:

https://graph.microsoft.com/v1.0/users

Но когда я пытаюсь выполнить другие операции, токен кажется недействительным.

Например:

  • Получите подписки Azure (учетная запись является администратором нескольких подписок):

https://management.core.windows.net/subscriptions ==> НЕСАНКЦИОНИРОВАНО

Что я делаю не так? Верна ли ИДЕЯ, стоящая за этим?

Мне действительно нужно сделать это на «глобальном» уровне без ручных действий по настройке для каждой подписки или ввода некоторого «TenantID» вручную.


person Ziba Leah    schedule 09.09.2017    source источник


Ответы (1)


Вы запросили токен с областью действия для Microsoft Graph API, поэтому вы можете использовать конечные точки API, отображаемые https://graph.microsoft.com/ .

Вызов https://management.core.windows.net/subscriptions не является частью Microsoft Graph API, поэтому ваш токен недействителен для этого ресурса. Этот вызов находится в REST API управления службами. Аутентификация для этого API документирована здесь.

person Marc LaFleur    schedule 09.09.2017