Обычно автоматизированные процессы требуют немного больше работы, когда задействован MFA.
У вас есть 2 варианта, о которых я могу подумать прямо сейчас:
- Не использовать учетную запись пользователя использование субъекта службы / регистрация приложения + разрешения приложения
- Позволяет использовать учетные данные клиента для проверки подлинности, без MFA
- Запустите поток проверки подлинности один раз с пользователем, чтобы получить получить доступ к токену + refre sh токен, использовать токен refre sh для получения новых токенов, когда это необходимо в автоматизированном процессе
- Вы также получите новый токен refre sh при каждом использовании refre sh токен, обязательно замените тот, который у вас есть, новым
- Refre sh токены могут и действительно заканчиваются, поэтому вам может потребоваться повторить первоначальную аутентификацию снова
- Принять специальные Тщательное хранение надежного sh токена
Мы реализовали второй случай для фонового процесса клиента: https://joonasw.net/view/adding-opt-in-feature-to-azure-ad-app
О, и в случае, если у Вы говорите об автоматизации пользовательского интерфейса, команда продукта Azure AD много раз говорила мне, что вам не следует пытаться автоматизировать саму страницу входа. Он имеет невидимые проверки и может заблокировать ваш автоматический вход в систему. В этих случаях вам может понадобиться пользователь без MFA, использовать поток ROP C для получения токенов и каким-то образом внедрить эти токены в ваш пользовательский интерфейс. Или воспользуйтесь подходом refre sh token, чтобы получить токены, а затем внедрите их.