Я добавил эту функцию в плагин. Просто обновите его до последней версии, а затем настройте параметр discourse rocketchat default channel на пустое значение.
(Я случайно изменил некоторые части токенов вставленной ссылки в целях безопасности).
Это пустая страница, которая не закрывается сама, и вход не выполняется, пока пользователь не закроет окно. Как только пользователь закрывает это всплывающее окно, вход выполняется, и далее всё работает нормально. Это происходит каждый раз при попытке входа, даже для пользователей, которые уже входили ранее.
Там есть встроенный скрипт для закрытия этого окна, который, вероятно, не включён в ваш CSP.
В качестве быстрого решения на стороне Rocket.Chat перейдите в Администрирование — Общие и отключите параметр «Включить политику безопасности контента» (Enable Content-Security-Policy). Обратите внимание, что это может создать уязвимости безопасности на вашем сайте. Вам следует устранить корневую проблему.
Пожалуйста, ограничьте все отчёты и запросы здесь проблемами, касающимися плагина. Любая ошибка, возникающая внутри Rocket.Chat или на вашем хосте Rocket.Chat, должна рассматриваться как проблема Rocket.Chat, а не проблема Discourse или плагина.
@Mr.X_Mr.X, у меня была та же проблема с пустым окном, которое не закрывалось, и я думал, что дело в какой-то ошибке в моей конфигурации CAS.
Я отключил политику безопасности контента, и теперь белые окна закрываются автоматически. Спасибо, Ричард, за объяснение, где была проблема!
Тем не менее, было бы здорово понять, как добавить исключение и включить эту функцию безопасности.
@RGJ, извините за вопрос, но не связана ли эта проблема с вашим плагином? Не встроен ли этот скрипт в ваш плагин? Или вы говорили о встроенном скрипте, добавленном вручную на стороне Rocket.Chat?
Ещё раз большое спасибо.
Хорошо, извините, обещаю, что не буду задавать больше вопросов после этого единственного: тогда вы бы посоветовали добавить белый список в CSP Rocket.Chat (вероятно, добавив домен Discourse, я так понимаю)?
Нет, это на 100% проблема на стороне Rocket.Chat. JavaScript Rocket.Chat пытается закрыть всплывающее окно Rocket.Chat, но это запрещено политикой безопасности контента (CSP) Rocket.Chat.
Это происходит с каждым всплывающим окном входа в Rocket.Chat, например, CAS или OAuth2. Если вы поищете это, то найдёте и другие отчёты.
Есть ли возможность создать каналы для конкретных тем? То есть, если плагин отображается в этой теме, канал автоматически устанавливается в значение «rocket-chat-sso-embed-plugin-for-discourse»?