Добавлена расширенная поддержка аутентификации для POP3

Действительно, TLS также является обязательным для Exchange Online. Однако аутентификация осуществляется с помощью базовой аутентификации (если я правильно понимаю приведённый ниже код, нет возможности выбрать другой механизм аутентификации, например OAuth2) discourse/poll_mailbox.rb at tests-passed · discourse/discourse (github.com)

Проведя дополнительное исследование, выяснилось, что библиотека Class: Net::POP3 (Ruby 2.7.0) (ruby-doc.org) в Ruby не поддерживает аутентификацию OAuth2, только базовую.

Для справки:

Она ожидает только имя пользователя и пароль, а не имя пользователя и токен, плюс потребуется использовать формат AUTH XOAUTH2 для кодирования и передачи токена.

Извините, если я не был достаточно ясен в своём вопросе, но меня интересует возможность реализации подхода, аналогичного следующим примерам:

Такие подходы позволят Discourse подключаться к POP3 (и, следовательно, к IMAP) с помощью аутентификации OAuth2, тем самым выполняя требования Microsoft и, вероятно, Gmail в ближайшем будущем, если не уже сейчас ( OAuth 2.0 Mechanism | Gmail IMAP | Google Developers).

11 лайков

Я считаю, что это отличный запрос на новую функцию, и я полностью поддерживаю добавление поддержки OAuth2 в POP3.

Однако я не могу пообещать, когда мы сможем это реализовать, но если появится pull-запрос, мы, безусловно, в приоритетном порядке рассмотрим его и примем.

10 лайков

Отлично, большое спасибо! :clap:

С нетерпением ждём появления этой функции!

1 лайк

Насколько я могу судить, Google/Gmail отключили аутентификацию POP3, кроме OAuth, 30 мая. Поэтому я больше не могу получать письма через POP3. Было бы здорово, если бы Discourse поддерживал OAuth2.

Я не смог найти других тем, кроме этой. Я один использую Gmail с Discourse?

1 лайк

Вы по-прежнему можете использовать пароль приложения для аутентификации в Gmail через POP3. Вот актуальная тема по этому вопросу:

4 лайка

Только для тех, кто интересуется этой темой: наш коллега @acosenza открыл PR, будем рады вашим отзывам!

3 лайка

… и полностью функциональный альтернативный подход, предоставляемый через плагин, как объясняется в Microsoft Graph Mail Poller - плагин - Discourse Meta

Надеемся, это вызовет интерес у сообщества :tada:!

4 лайка

Поднимаю тему, так как Google также собирается отключить аккаунты Workspace.

Вижу, что PR был закрыт из-за проблем с зависимостями.
Пароли приложений пока еще действительны (на данный момент), но OAuth был бы предпочтительнее.

Письмо от Google: tl;dr — используйте OAuth2 после сентября 2024 года

Логотип Google Workspace

Начиная с 30 сентября 2024 года аккаунты Google Workspace будут поддерживать доступ к приложениям только через OAuth. Доступ по паролю (за исключением паролей приложений) больше поддерживаться не будет. Протоколы POP и IMAP не отменяются и могут быть включены для приложений, подключающихся через OAuth.

Уважаемый администратор,

Мы пишем вам, чтобы сообщить, что, как мы уже сообщали в этом сообщении в блоге, мы отключим доступ для менее безопасных приложений (LSA) — приложений не от Google, которые могут получать доступ к аккаунтам Google, используя только имя пользователя и пароль (простая аутентификация), начиная с 15 июня 2024 года.

Что вам нужно знать?

Доступ через простую аутентификацию делает аккаунты более уязвимыми к попыткам взлома. В дальнейшем доступ к аккаунтам Google Workspace смогут получать только приложения, поддерживающие более современный и безопасный метод доступа, называемый OAuth.

Доступ к LSA будет отключен в два этапа:

  1. Начиная с 15 июня 2024 года — Настройки LSA будут удалены из консоли администратора, и их больше нельзя будет изменить. Пользователи, у которых доступ был включен, смогут подключаться и после этой даты, но пользователи, у которых доступ был отключен, больше не смогут использовать LSA. Это касается всех сторонних приложений, требующих доступа только по паролю к Gmail, Google Календарю и Контактам через такие протоколы, как CalDAV, CardDAV, IMAP, SMTP и POP. Настройки включения/отключения IMAP будут удалены из настроек Gmail пользователей. Если вы использовали LSA до этой даты, вы можете продолжать их использовать до 30 сентября 2024 года.
  2. Начиная с 30 сентября 2024 года — Доступ к LSA будет отключен для всех аккаунтов Google Workspace. Протоколы CalDAV, CardDAV, IMAP и POP перестанут работать при входе только с использованием пароля — вам необходимо будет войти, используя более безопасный тип доступа, называемый OAuth.

Что вам нужно сделать?

Чтобы ваши конечные пользователи могли продолжать использовать такие приложения со своими аккаунтами Google Workspace, они должны переключиться на более безопасный тип доступа, называемый OAuth (список затронутых пользователей прикреплен). Этот метод аутентификации позволяет приложениям получать доступ к аккаунтам с помощью цифрового ключа, вместо того чтобы требовать от пользователя раскрытия имени пользователя и пароля. Мы рекомендуем вам распространить инструкции для пользователей (в этом PDF-файле) среди сотрудников вашей организации, чтобы помочь им внести необходимые изменения. В качестве альтернативы, если ваша организация использует собственные инструменты, вы можете попросить разработчика инструмента обновить его для использования OAuth. Инструкции для разработчиков также доступны в этом PDF-файле.

Настройка MDM

Если ваша организация использует поставщика управления мобильными устройствами (MDM) для настройки профилей IMAP, CalDAV, CardDAV или POP, эти услуги будут постепенно выводиться из эксплуатации в соответствии со следующим графиком:

  1. Начиная с 15 июня 2024 года — Push-уведомления MDM для IMAP, CalDAV, CardDAV и POP на основе пароля перестанут работать для клиентов, пытающихся подключиться впервые. Если вы используете Google MDM, вы не сможете включить настройки «Настройка пользовательского push» для CalDAV и CardDAV.
  2. Начиная с 30 сентября 2024 года — Push-уведомления MDM для IMAP, CalDAV, CardDAV и POP на основе пароля перестанут работать для существующих пользователей. Администраторам необходимо будет отправить аккаунт Google через своего провайдера MDM, что позволит повторно добавить их аккаунты Google на устройства iOS с использованием OAuth. Если вы используете Google MDM, настройки «Пользовательская конфигурация push — CalDAV» и «Пользовательская конфигурация push — CardDAV» (подробнее о настройках здесь) перестанут действовать.

Другие менее безопасные приложения

  • Для любых других LSA попросите разработчика используемого вами приложения начать поддержку OAuth.

Сканеры и другие устройства

Для сканеров или других устройств, использующих протокол простой передачи почты (SMTP) или LSA для отправки электронной почты, настройте использование OAuth, используйте альтернативный метод или настройте пароль приложения для использования с устройством. Если вы заменяете свое устройство, ищите модель, которая отправляет электронную почту с использованием OAuth.

2 лайка

Так как этот PR заблокирован из-за upstream-PR для net-pop, существуют ли какие-либо известные обходные пути для учётных записей, размещённых на GSuite?

1 лайк

Возможно, @team сможет предоставить нам обновление по планам касательно этой функции?

1 лайк

Прежде всего хочу поблагодарить Исмаила и вашего коллегу Алессио за проделанную работу, особенно в отношении Add OAUTH2 support by AlessioC31 · Pull Request #16 · ruby/net-pop · GitHub.

Мы планируем работать над этим до срока, установленного Google, так как не хотим терять возможность опроса POP3, и отслеживаем ситуацию internally. Очень разочаровывает, что PR для net-pop заблокирован.

Надеемся, что мы сможем найти решение. Я вижу, что кто-то из Meta уже оставил комментарий в этом PR, и я тоже напишу. Возможно, это поможет сдвинуть дело с мёртвой точки. В противном случае нам придётся рассмотреть альтернативные варианты, например, monkey-patching Net::POP3 в ядре Discourse.

4 лайка

Привет! Есть ли какие-то новости по этому вопросу? Срок, установленный Google, уже совсем скоро…

Мы выяснили, что пока ничего делать не нужно. Google по-прежнему будет поддерживать пароли приложений, согласно следующим статьям:

Таким образом, если вы используете SMTP/POP3 с Discourse и Google, единственное, что нужно сделать, — убедиться, что вы используете пароль приложения от Google.

5 лайков