本指南说明如何通过在 Google Cloud Console 中配置 OAuth2 凭据,为您的 Discourse 站点设置 Google 登录集成。
所需用户级别:管理员
概述
Google 登录允许用户使用其 Google 帐户登录您的 Discourse 站点。本指南将引导您完成以下步骤:
- 创建一个 Google Cloud 项目
- 设置 OAuth 同意屏幕
- 配置凭据
- 在 Discourse 中启用 Google 登录
创建 Google Cloud 项目
- 导航至
https://console.developers.google.com - 点击左上角的项目选择按钮
- 点击“新建项目”
- 输入项目名称和可选位置。
- 点击“创建”
如果在创建项目后看到任何错误,请使用 Ctrl+F5 刷新页面。
配置 OAuth 同意屏幕
- 导航回
https://console.developers.google.com,如果尚未选择,请选择您的新项目。 - 在左侧面板中导航到“OAuth 同意屏幕”。您也可以使用左上角的 Google Cloud 菜单选择“API 和服务”->“OAuth 同意屏幕”。
- 点击“开始使用”
- 在“应用信息”下,输入应用名称并选择一个用户支持电子邮件地址。
- 选择“面向外部”受众群体
- 接下来,输入通知电子邮件地址
- 最后,接受 API 服务:用户数据政策并点击“创建”
设置凭据
- 导航到“API 和服务”->“凭据”屏幕
- 点击“创建凭据”并选择“OAuth 客户端 ID”
- 配置 OAuth 客户端:
- 将“应用类型”选择为“Web 应用程序”并为其命名
- 在“授权的 JavaScript 源”中,添加您站点的基本网址(包括
https://) - 在“授权的重定向 URI”下,添加您的回调网址:
https://your-discourse-site.com/auth/google_oauth2/callback - 点击“创建”
点击 OAuth 2.0 客户端 ID:
将 ClientID 和 Client Secret 复制到您的 Discourse 管理员设置中:
配置 Discourse 设置
- 在您的 Discourse 管理员设置中,“登录与身份验证”下
- 启用
enable google oauth2 logins(启用 Google OAuth2 登录)设置 - 输入您的
google oauth2 client id(Google OAuth2 客户端 ID) - 输入您的
google oauth2 client secret(Google OAuth2 客户端密钥)
验证和发布
通过添加一个具有 Google 电子邮件地址的用户并确认您可以使用“使用 Google 登录”选项登录 Discourse 来测试集成。如果您能够登录,则配置完成!![]()
注意:
以前需要最后一步——将 Google 开发者项目更改为“生产”状态。这似乎不再需要。我们在此保留这些遗留说明,以防万一。
要使集成可公开访问:
- 将状态更改为“生产”
- 完成 Google 的验证过程
- 通过 Google Search Console 验证网站所有权
附加配置
Google OAuth2 提示
google oauth2 prompt(Google OAuth2 提示)设置控制登录期间 Google 同意屏幕的行为。可用选项:
- (空白) — 默认 Google 行为
none— 不显示同意或帐户选择屏幕consent— 始终显示同意屏幕select_account— 始终提示用户选择一个帐户
Google Workspace(以前的 G. Suite、Google Apps)登录
要将登录限制为特定的 Google Workspace 域名:
- 在
Discourse 管理员 -> 登录与身份验证中,找到google oauth2 hd站点设置 - 输入您的 Google Workspace 域名
Google Workspace 组同步
您可以自动将 Google Workspace 组与 Discourse 同步。这需要:
- 启用
google oauth2 hd groups设置 - 将
google oauth2 hd设置为您的工作区域名 - 在
google oauth2 hd groups service account admin email(Google OAuth2 组服务帐户管理员电子邮件)中输入工作区管理员电子邮件 - 将您的 Google 服务帐户 JSON 凭据粘贴到
google oauth2 hd groups service account json中
服务帐户必须启用域级委托,并被授予 https://www.googleapis.com/auth/admin.directory.group.readonly 范围。请参阅Google 关于域级委托的文档以获取设置说明。
故障排除
如果您遇到登录问题:
- 验证 HTTPS 是否正确配置
- 仔细检查所有重定向 URI
- 确保您站点的 SSL 证书有效
- 确认所有必需的 Google Cloud API 已启用
- 启用
google oauth2 verbose logging(Google OAuth2 详细日志记录)以获取详细的 OAuth2 请求/响应日志









