为discourse社区配置github登录

:bookmark: 本指南阐述了如何通过配置 OAuth 凭据,将 GitHub 设置为您的 Discourse 论坛的登录选项。

:person_raising_hand: 需具备的用户级别:管理员

概述

GitHub 登录集成允许用户使用其 GitHub 帐户登录您的 Discourse 站点。这提供了一种便捷的身份验证方式,对于以开发者为中心的社区尤为实用。

设置 GitHub OAuth

  1. 访问 GitHub 的开发者设置页面:https://github.com/settings/developers
  2. 在左侧菜单中,找到并点击 OAuth Apps
  3. 点击 New OAuth App
  4. 填写必要的字段:
  • Application name:输入您站点的名称。
  • Homepage URL:您站点的主 URL(例如,https://discourse.example.com)。
  • Application description(可选):简要描述您的站点。
  • Authorization callback URL:使用您站点的域名,并附加路径 /auth/github/callback(例如,https://discourse.example.com/auth/github/callback)。

  1. 点击 Register application

配置 Discourse 设置

  1. 注册后,GitHub 将为您提供两个重要的凭据:
  • 客户端 ID (Client ID)
  • 客户端密钥 (Client Secret)
  1. 在您的 Discourse 管理设置中,配置以下内容:
  • github_client_id 设置为您的客户端 ID。
  • github_client_secret 设置为您的客户端密钥。
  • 启用 enable github logins 设置。

测试集成

  1. 退出您的 Discourse 站点。
  2. 在登录页面,您现在应该看到一个“使用 GitHub 登录”的选项。
  3. 测试登录流程,确保其按预期工作。

最佳实践

  • 务必妥善保管您的客户端密钥,切勿公开分享。
  • 定期审查您的 GitHub OAuth 应用设置。
  • 考虑在 GitHub 的 OAuth 应用设置中启用额外的安全功能。

常见问题与解决方案

  • 如果登录失败,请验证您的回调 URL 是否与 GitHub 中配置的完全一致。
  • 确保您站点的 SSL 证书有效,因为 GitHub 要求使用 HTTPS。
  • 检查客户端 ID 和密钥是否在 Discourse 设置中正确输入。

额外资源