Постоянный запуск «сервисного недоступного» запроса графа SharePoint при объединении разрешений Azure AD App - PullRequest
3 голосов
/ 02 апреля 2020

Эта ситуация заставила меня создать настоящий чудовищный обходной путь, но иногда у вас нет правильной опции?

Проблема в основном наталкивается на 503: 'serviceUnavailable' сообщения, когда несколько (указано c?) Azure AD Приложение разрешений установлено в вашем Azure AD приложении, что не должно происходить.

Контекстные и технические запросы

Контекст специально предназначен для разрешений приложений (аутентификация только для приложений) и НЕ делегированных разрешений. Токен получен с помощью:

HTTP POST https://login.microsoftonline.com/e6fcb01a-f706-4b1b-872b-1e7645d78491/oauth2/v2.0/token
headers: 
Content-Type=application/x-www-form-urlencoded
-------------
client_id=<App GUID>
client_secret=<App SECRET>
scope=https://graph.microsoft.com/.default
grant_type=client_credentials

/ sites / root запроса, полученного с помощью:

HTTP GET https://graph.microsoft.com/v1.0/sites/root
headers: Authorization=Bearer <AccessToken>
-------------

Воспроизвести следующую ситуацию:

  • Создать Azure Приложение AD
  • Добавление разрешения приложения> Sites.ReadWrite.All
  • Предоставление согласия администратора для
  • Создание секрета
  • Создание токена доступа (с использованием)
  • Запустить запрос с токеном (работает)

Принудительно сломать его (добавить все сразу или 1 к 1)

  • Добавить разрешение приложения> Group.Create
  • Предоставить административное согласие для
  • Создать токен доступа
  • Запустить запрос с токеном (не удается?)

Работает ли он?

  • Добавить разрешение приложения> Group.ReadWrite.All
  • Предоставить согласие администратора на
  • Создать токен доступа
  • Выполнить запрос с токеном (не удалось?)
  • Повторите для другого разрешения. пока он не сломается.

Он сломается?

  • Неудачи навсегда

Обходной путь:

Разделить разрешение приложения через несколько приложений AD.

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

К сожалению, это была ранее известная проблема в SharePoint. Исправление уже в пути, но у меня нет ETA для развертывания.

1 голос
/ 09 апреля 2020

Основываясь на моем тесте (не проверял все разрешения), проблема существует.

Существует два основных разрешения, которые влияют на вызов этой конечной точки API.

Это Group.Create и Group.Selected.

Я не уверен, почему они вызывают сбой вызова /sites/root. Но настоятельно рекомендуется удалить эти два разрешения (может быть, есть еще некоторые другие разрешения) из приложения Azure AD, которое используется для доступа к /sites/root.

В то же время, открывая заявку на поддержку Портал Azure для вашего запроса Graph - хороший выбор.

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