本指南介绍如何设置和配置 Discord 作为 Discourse 论坛的登录选项,包括如何限制访问特定的 Discord 服务器(guild)。
所需用户级别:管理员
配置后,Discord 将作为除其他身份验证方法外的又一个登录选项显示在您的论坛上:
设置 Discord OAuth2
创建一个 Discord 应用程序
- 访问 Discord 开发者门户
- 点击“New Application”(新建应用)
- 输入名称、上传图标并为您的应用程序添加描述
- 这些详细信息将在登录过程中向用户显示
配置 OAuth2 设置
- 导航到左侧边栏的“OAuth2”选项卡
- 复制“Client ID”(客户端 ID)和“Client Secret”(客户端密钥)
- 如果密钥未显示,请点击“Reset Secret”(重置密钥)以生成一个新的
- 添加您的重定向 URL:
- 格式:
https://your-discourse-site.com/auth/discord/callback
不要包含尾部斜杠
- 格式:
- 点击“Save Changes”(保存更改)
在 Discourse 中启用 Discord 登录
- 在您的 Discourse 管理设置中,将客户端 ID 输入到
discord_client_id设置项中 - 将客户端密钥输入到
discord_secret设置项中 - 启用
enable_discord_logins设置项
限制访问特定的 Discord 服务器
您可以将 Discord 登录限制为特定 Discord 服务器(guild)的成员。
查找您的服务器 ID
- 在浏览器中打开 Discord
- 导航到您服务器中的任何频道
- 查看 URL:
https://discord.com/channels/{guild_id}/{channel_id} - 从 URL 中复制第一个数字(guild_id)
- 示例:在
https://discord.com/channels/123/456中,服务器 ID 是123
- 示例:在
配置服务器限制
- 在您的 Discourse 管理设置中,找到
discord_trusted_guilds设置项 - 添加您的服务器 ID
- 如果需要,可以添加多个服务器 ID
启用服务器限制后:
- 受信任服务器的成员将正常登录
- 其他用户将看到一条错误消息
- 您可以在 Customize → Text(自定义 → 文本)下自定义此消息,搜索
discord.not_in_allowed_guild
如果您出于安全原因使用服务器限制,请禁用 Discourse 设置中的所有其他登录选项。
后续步骤
可以考虑设置 chat-integration 插件,以便将重要的 Discourse 主题推送到您的 Discord 频道。






