С момента внедрения социальных логин-систем в Discourse на десктопах вход всегда осуществлялся через всплывающее окно.
Идея заключалась в том, чтобы быть «менее» отвлекающим фактором, оставляя вас на самом сайте во время процесса входа.
Я считаю, что сохранять эту практику нет смысла по нескольким причинам.
Это уже несовместимо с тем, как работает «SSO в Discourse», может работать нестабильно в браузерах, которые блокируют всплывающие окна (мой Firefox жалуется и требует клика для их разрешения), код для отправки сообщений сложен и его трудно поддерживать, плюс сейчас мы уже требуем дополнительный клик во всплывающем окне.
Как вы относитесь к идее отказаться от кода «всплывающего окна для социального входа» и иметь только один последовательный способ входа, будь то SSO, социальный вход или что-то ещё?
Как только он в конечном итоге попадёт в стабильную версию, мы должны удалить избыточные настройки «полноэкранного режима» из плагинов (например, OAuth2, OIDC).
Это затрагивает довольно критические части нашего кода аутентификации, поэтому ветка уже развернута в Meta для тестирования.
Если у кого-то есть свободное время, пожалуйста, попробуйте войти в систему, используя несколько разных провайдеров, а также отключить и повторно подключить учётные записи в настройках. Если вы обнаружите какие-либо проблемы, сообщите мне, и я проведу расследование
Также это отличная возможность опробовать нашу новую аутентификацию через Discord, которая настроена здесь, в Meta
Проверен вход через Facebook, Google, Twitter и Discord — всё успешно. Также протестировано отключение и повторное подключение тех же учётных записей через настройки пользователя. Оба процесса прошли гладко.
GitHub протестировать не удалось, так как на учётной записи Discourse, связанной с GitHub, включена двухфакторная аутентификация.
Провёл дополнительное тестирование (вышеупомянутые тесты выполнялись в Chrome на Windows). Подтвердил, что вход в систему работает в IE, Edge и Firefox на Windows. Выявил две незначительные ошибки: одна связана с выходом из системы, другая — с подключением учётной записи в IE. Обе ошибки существовали и до внесения этого изменения.
Это была проблема кэширования, которая затрагивала только IE11. Должна быть исправлена этим коммитом. Разворачиваем это исправление на Meta прямо сейчас