Есть ли способ подключить почтовый ящик outlook с поддержкой Azure AD MFA через консольное приложение C #? - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть консольное приложение, написанное на c #, которое мы используем для подключения к почтовому ящику outlook, используя службу обмена для чтения писем из входящих сообщений. Недавно мы перешли на Azure AD с MFA, и после этого изменения мой код выдает 401 несанкционированную ошибку. Может кто-нибудь предложить обходной путь для аутентификации консоли для подключения и чтения почты без какой-либо пользовательской зависимости.

Обычная функция WebClient, которая использует имя пользователя и пароль для подключения к outlook. https://outlook.office365.com/EWS/Exchange.asmx используется в качестве URL-адреса объекта службы в коде.

1 Ответ

1 голос
/ 30 апреля 2019

Используйте ADAL.NET или MSAL.NET и OAuth2 authn для EWS: https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-authenticate-an-ews-application-by-using-oauth Это будет обрабатывать любой MFA, который вы настроили. (Я предполагаю, что ваше приложение работает с присутствующим пользователем и, следовательно, может проходить проверку подлинности. Если это приложение не посещено и выполняется с жестко запрограммированными учетными данными пользователя, вам придется либо позволить этому пользователю не использовать MFA, либо изменить приложение. войти в систему с принципалом службы, все еще используя OAuth2, как указано выше).

...