Аутентификация POP3 с OAuth выдает «Ошибка протокола Err. Соединение закрыто» - PullRequest
0 голосов
/ 24 марта 2020

Моей компании необходимо обновить приложение, чтобы интегрировать двуногую OAuth 2.0 для POP3. Я тестирую с помощью онлайн-аккаунта Outlook и пытаюсь пройти аутентификацию на outlook.office365.com (я также пробовал pop3.live.com).

Я зарегистрировался на пробную версию Exchange Online, используя мой тестовый аккаунт Outlook. .

Я зарегистрировал свое приложение на Azure и включил разрешения приложений API для MS Graph (Mail.ReadWrite, Mail.Send) и Exchange (full_access_as_app). Та же учетная запись outlook, которую я использовал для регистрации Exchange, является глобальным администратором Azure арендатора.

Я могу запросить действительный токен OAuth с обеих конечных точек Graph и Exchange. Однако, когда я использую токен и пытаюсь войти на POP-сервер, я получаю следующую ошибку:

<PopCmdSent>AUTH XOAUTH2 [token]</PopCmdSent>    
<PopCmdResp>-ERR Protocol error. Connection is closed. 10</PopCmdResp>

Затем:

<error>POP3 authentication failed</error>

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

Вход в систему работает нормально, если я использую Basi c Auth вместо OAuth.

I Я не уверен, как решить эту проблему. Любая информация или предложения будут высоко оценены!

РЕДАКТИРОВАТЬ

Я недавно наткнулся на эту статью Microsoft, которая ссылается на ту же ошибку, но она связана с Exchange Server 2007. В статье говорится, что решение состоит в том, чтобы увеличить параметр «MaxCommandSize» на сервере Exchange со значения по умолчанию 40 КБ.

Это буквально единственное другое место, где я видел эту ошибку, на которую ссылается онлайн:

https://support.microsoft.com/en-ca/help/945552/error-message-when-you-try-to-connect-to-a-pop3-mailbox-on-exchange-se

Интересно, относится ли это к Exchange Online / Outlook? Я не могу найти аналогичные настройки в своей пробной версии Exchange Online или настройках почты Outlook

РЕДАКТИРОВАТЬ 2

У меня был обмен электронной почтой с разработчиком почтового компонента Я пользуюсь (Chilkat Mailman). Он, очевидно, застрял на той же проблеме в течение нескольких месяцев. Он говорит, что в компоненте реализованы правильные протоколы для XOAUTH2, и он должен работать одинаково для любого почтового сервера.

Однако ему также трудно связать регистрацию приложения Azure с указанной учетной записью c O365 и получение правильной области действия / разрешений для аутентификации учетной записи.

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

Статья, которую он написал, исходя из своего понимания (не уверен, что это актуально):

https://cknotes.com/o365-imap-authentication-oauth-mfa-wtf/

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