directoryRoles возвращает Authorization_RequestDenied даже после успешной авторизации. Работает на повторную попытку - PullRequest
1 голос
/ 19 февраля 2020

Мое приложение обращается к ресурсу directoryRoles через Microsoft Graph. Это делается сразу после . Администратор авторизует моего клиента с необходимыми областями.

Обычно этот поток работает нормально, и вызовы /directoryRoles возвращают успешный ответ. Однако мое приложение периодически получает следующую ошибку:

{
  'error': {
    'innerError': {'date': '2020-02-18T20:06:49', 'request-id': <request_id>}, 
    'message': 'Insufficient privileges to complete the operation.', 
    'code': u'Authorization_RequestDenied'
  }
}

Это происходит, даже если администратор предоставил необходимую авторизацию. Я также заметил, что в таких случаях повторная попытка через некоторое время (скажем, через минуту или два) возвращает успешный ответ.

  1. Означает ли это, что это может занять некоторое случайное количество времени, охватывающее в минуту или две на стороне O365 / Azure для записи прав администратора для этого ресурса?
  2. Может ли быть какое-то другое объяснение такого поведения?
  3. В этом случае повторная попытка API является единственным решением?
  4. Будете ли вы предлагать какие-либо другие рекомендации?

Примите во внимание любые ваши идеи, которые помогут мне понять эти периодически возникающие ошибки.

1 Ответ

1 голос
/ 19 февраля 2020

В зависимости от размера арендатора и текущей нагрузки, иногда для Azure AD может потребоваться мгновение или два для передачи согласия на ваше приложение. Это нормально, и вы должны повторить запрос.

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