本指南说明如何通过配置 OAuth 凭据,将 GitHub 设置为 Discourse 论坛的登录选项。
所需用户级别:管理员
概述
GitHub 登录集成允许用户使用其 GitHub 帐户登录您的 Discourse 站点。这提供了一个便捷的身份验证选项,对于面向开发者的社区尤其有用。
设置 GitHub OAuth
-
访问 GitHub 的开发者设置:
https://github.com/settings/developers -
在左侧菜单中,找到并单击 OAuth Apps(OAuth 应用)
-
单击 New OAuth App(新建 OAuth 应用)
-
填写所需字段:
- Application name(应用名称):输入您站点的名称
- Homepage URL(主页 URL):您站点的基本 URL(例如
https://discourse.example.com) - Application description(应用描述)(可选):简要描述您的站点
- Authorization callback URL(授权回调 URL):使用您站点的域名加上路径
/auth/github/callback
(例如https://discourse.example.com/auth/github/callback)
- 单击 Register application(注册应用)
配置 Discourse 设置
-
注册后,GitHub 将在应用设置页面显示您的 Client ID(客户端 ID)。
-
要获取 Client Secret(客户端密钥),请单击 Generate a new client secret(生成新的客户端密钥)。请立即复制它——它只会显示一次。
-
在您的 Discourse 管理设置中,配置以下内容:
- 将
github_client_id设置为您的客户端 ID - 将
github_client_secret设置为您的客户端密钥 - 启用
enable github logins(启用 GitHub 登录)设置
- 将
测试集成
- 从您的 Discourse 站点登出
- 在登录页面上,您现在应该会看到一个“使用 GitHub”的登录选项
- 测试登录流程以确保其按预期工作
最佳实践
- 确保您的客户端密钥安全,切勿公开分享
- 定期检查您的 GitHub OAuth 应用设置
- 考虑在 GitHub 的 OAuth 应用设置中启用额外的安全功能
常见问题及解决方案
- 如果登录失败,请验证您的回调 URL 是否与 GitHub 中配置的完全匹配
- 确保您站点的 SSL 证书有效,因为 GitHub 要求使用 HTTPS
- 检查客户端 ID 和密钥是否都已正确输入到 Discourse 设置中
