
摘要:此插件将 Rocket.Chat 与 Discourse 集成。
您需要为 Communiteq、Digital Ocean 或其他提供商获取单独的 Rocket.Chat 托管实例。此插件将该实例与您的论坛集成。
集成包含两个部分:
- 将聊天嵌入到 Discourse 用户界面中
- Discourse 与 Rocket.Chat 之间的单点登录(SSO),其中 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
配置您的 RocketChat 实例的主机名,例如 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 替换为您论坛的名称。
- SSO 基础 URL:
https://forum.example.com/rocketchat - SSO 登录 URL:
https://forum.example.com/rocketchat/login - CAS 版本:2.0
- 信任 CAS 用户名:已启用
- 允许创建用户:已启用
- 已启用:已启用
管理 - 设置 - CAS - 属性处理
为了能够同步电子邮件地址和全名,我们需要配置这些属性的位置。
- 始终同步用户数据:已启用
- 属性映射:
{"email":"%email%", "name":"%name%"}
管理 - 设置 - 常规
我们需要能够在 iFrame 中运行 Rocket.Chat。
- 限制在任何 Iframe 内的访问:已禁用
管理 - 设置 - 账户
为了集成这两个平台,Discourse 必须控制登录和注册以及账户的全名、用户名和电子邮件地址。您需要在 Rocket.Chat 端禁用以下设置:
- 允许用户更改头像:已禁用
- 允许更改名称:已禁用
- 允许更改用户名:已禁用
- 允许更改电子邮件:已禁用
- 显示默认登录表单:已禁用
管理 - 设置 - 账户 - 注册
- 注册表单:已禁用
- 注册表单秘密 URL:(某个随机字符串)
管理 - 设置 - 账户 - 头像
Rocket.Chat 可以使用 Discourse 的头像。
请务必将 forum.example.com 替换为您论坛的名称。
- 头像外部提供商 URL:
https://forum.example.com/rocketchat/avatar/{username}.png


