Я хочу адаптировать код, найденный здесь, чтобы написать, что по сути представляет собой сценарий для загрузки файлов в OneDrive для Бизнес. Насколько я понимаю, это фактически означает "безголовое" собственное клиентское приложение. Я успешно создал собственное клиентское приложение Azure AD, назначил разрешения и создал учетную запись службы AD, чтобы использовать ее для «выполнения» сценария (и хранения файлов в OneDrive).
Однако в моей организации Azure AD требуется многофакторная проверка подлинности. Когда я использую библиотеку Python ADAL для «accept_token_with_username_password», я получаю ответ 400 Bad Request с таким описанием ошибки:
adal.adal_error.AdalError: запрос на получение токена вернул ошибку http: 400 и ответ сервера: {"error": "Interaction_required", "error_description": "AADSTS50076: из-за изменения конфигурации, сделанного вашим администратором, или из-за того, что вы перешли на новое местоположение, вы должны использовать многофакторную аутентификацию для доступа к 'https://login.windows.net/[tenant].onmicrosoft.com '. \ r \ nИдентификатор трассы: [uuid] \ r \ nИдентификатор корреляции: [uuid] \ r \ nTimestamp: [timestamp] "," error_codes ": [50076 ], "timestamp": "[timestamp]", "trace_id": "[uuid]", "correlation_id": "[uuid]"}
Я также пробовал войти в O365 в качестве учетной записи службы и создать «пароль приложения» и использовать его в качестве пароля вместо фактического пароля учетной записи, но это также не удалось. Ошибка несколько иная - она отклоняется из-за неверного пароля.
Учитывая, что это «безголовое» приложение (скрипт), каковы мои варианты аутентификации? Я изо всех сил пытаюсь найти хорошую информацию, особенно для этого случая без головы / сценария.