WedX - журнал о программировании и компьютерных науках

Безголовое собственное клиентское приложение ADAL и многофакторная аутентификация (MFA)

Я хочу адаптировать код, найденный здесь, чтобы написать, что по сути представляет собой сценарий для загрузки файлов в 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 в качестве учетной записи службы и создать «пароль приложения» и использовать его в качестве пароля вместо фактического пароля учетной записи, но это также не удалось. Ошибка несколько иная - она ​​отклоняется из-за неверного пароля.

Учитывая, что это «безголовое» приложение (скрипт), каковы мои варианты аутентификации? Я изо всех сил пытаюсь найти хорошую информацию, особенно для этого случая без головы / сценария.

06.01.2017

Ответы:


1

Поток предоставления учетных данных для пароля владельца ресурса не поддерживает MFA. Для интеграции с активным каталогом Azure, который требуется пользователям для MFA, вы можете рассмотреть возможность использования другого потока (например, поток предоставления учетных данных клиента или поток предоставления кода авторизации).

09.01.2017
  • Я ценю ответ - должен признаться, что нигде не смог найти это задокументировано, или мой гугл-фу был просто слабым. 12.01.2017
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]