
Краткое описание: Этот плагин интегрирует Rocket.Chat с Discourse.
Вам потребуется отдельный хостинг-экземпляр Rocket.Chat, например, от Communiteq, Digital Ocean или другого провайдера. Этот плагин обеспечивает интеграцию этого экземпляра с вашим форумом.
Интеграция состоит из двух частей:
- Встраивание чата в пользовательский интерфейс Discourse
- Единый вход (SSO) между Discourse и Rocket.Chat, где Discourse выступает в роли провайдера аутентификации для аутентификации, создания и обновления пользователей в Rocket.Chat.
GitHub: GitHub - communiteq/discourse-rocketchat · GitHub
Установка: Следуйте руководству по установке плагина.
Благодарности: @jrgong предложил отличную идею интеграции Rocket.Chat с Discourse, а также разработал первую версию пользовательского интерфейса.
Скриншоты
Чат встраивается в правом нижнем углу интерфейса Discourse. Его можно свернуть и развернуть, нажав на заголовок окна. Чат остается открытым при навигации по форуму.
На мобильных устройствах чат отображается на весь экран и доступен через иконку Rocket.Chat в верхней панели:
Настройка
Интеграцию необходимо настроить на обеих системах. Discourse должен знать, где найти чат для его встраивания в интерфейс, а Rocket.Chat должен знать, где найти Discourse для возможности аутентификации.
На стороне Discourse
Администрирование - Плагины - Discourse RocketChat - Настройки
discourse_rocketchat_enabled
Включить или отключить плагин.
discourse rocketchat title
Здесь можно настроить заголовок окна чата, например, Чат.
discourse rocketchat host
Укажите имя хоста вашего экземпляра Rocket.Chat, например, chat.example.com.
Не добавляйте префикс https:// или подобное.
discourse rocketchat default channel
Здесь можно настроить канал по умолчанию, например, General.
discourse rocketchat min trust level
Укажите минимальный уровень доверия пользователей, чтобы они могли использовать Rocket.Chat, например, 2: member.
discourse rocketchat click entire bar
Включите эту опцию, если хотите, чтобы весь заголовок окна был кликабельным для разворачивания или сворачивания чата. Отключите, если кликабельными должны быть только текст «Открыть» и «Закрыть».
discourse rocketchat show menu for groups
Настройте группы, для которых Rocket.Chat должен отображать своё меню, например, staff.
На стороне Rocket.Chat
Администрирование - Настройки - CAS
Интеграция использует протокол CAS 2.0 для аутентификации и авторизации.
Замените forum.example.com на имя вашего форума.
- Базовый URL SSO:
https://forum.example.com/rocketchat - URL входа SSO:
https://forum.example.com/rocketchat/login - Версия CAS: 2.0
- Доверять имени пользователя CAS: включено
- Разрешить создание пользователей: включено
- Включено: включено
Администрирование - Настройки - CAS - Обработка атрибутов
Для синхронизации адреса электронной почты и полного имени необходимо настроить, где находятся эти атрибуты.
- Всегда синхронизировать данные пользователя: включено
- Карта атрибутов:
{"email":"%email%", "name":"%name%"}
Администрирование - Настройки - Общие
Необходимо обеспечить возможность запуска Rocket.Chat в iFrame.
- Ограничить доступ внутри любого Iframe: отключено
Администрирование - Настройки - Учётные записи
Для интеграции двух платформ Discourse должен контролировать вход, регистрацию, а также полное имя, имя и адрес электронной почты учётной записи. На стороне Rocket.Chat необходимо отключить следующие настройки:
- Разрешить изменение аватара пользователя: отключено
- Разрешить изменение имени: отключено
- Разрешить изменение имени пользователя: отключено
- Разрешить изменение адреса электронной почты: отключено
- Показывать форму входа по умолчанию: отключено
Администрирование - Настройки - Учётные записи - Регистрация
- Форма регистрации: отключено
- Секретный URL формы регистрации: (случайная строка)
Администрирование - Настройки - Учётные записи - Аватар
Rocket.Chat может использовать аватары из Discourse.
Убедитесь, что вы заменили forum.example.com на имя вашего форума.
- Внешний URL-адрес провайдера аватаров:
https://forum.example.com/rocketchat/avatar/{username}.png


