:cn: Configure Google login in Discourse 在 Discourse 中配置 Google 登录

honeymoose
Mon, 19 Jul 2021 22:04:14 +0000
Administrators

这篇文章展示了如何在 Discourse 中配置注册使用 Google OAuth2 来进行登录。

Google 控制台配置

进入 https://console.developers.google.com ，然后再左上方单击 选择一个项目（Select a project）。

新项目

在顶部的右侧，单击 新项目（New Project）。

输入项目信息

在 项目名称（Project Name） 字段中输入项目的名称，你也可以对 **项目 ID（Project ID）**来进行编辑。

对项目编辑 ID 的编辑是可选的，随后单击 创建（Create）。

这个操作可能需要耗费一些时间，因此你可能需要耐心的等候一下。

创建错误

在创建的过程中，可能会出现创建错误。
针对这种情况，你可以选择忽略掉创建的错误，然后单击 Ctrl+F5 来进行刷新。

提交校验

请按照 https://support.google.com/cloud/answer/9110914#submit-app-ver 链接中的说明，将你的项目提交给 Google Cloud Platform 平台进行校验。

创建外部链接

在你的项目中，选择当前项目的名字，然后在左侧控制面板中单击 OAuth consent screen 菜单，然后选择 External ，随后宕机 Create按钮

填写所有数据

我们建议你完全填写完成所有的数据后再单击 Save 按钮进行保存。

在示例中，我们假设我们的域名为 https://demo.site.com，请确定你输入的 URL 中有 https 或者 http 的协议开头。

从 2021/09/13 (September 13) 开始， Google 将会要求所有访问 Google 服务的网站都需要使用 https。

针对 Application logo 不需要进行修改，当然你也可以上传你自己的 logo，随后 Google 将会对站点进行校验。

Credentials

随后需要创建 Credentials，进入左侧的 Credentials 标签页，然后单击 + CREATE CREDENTIALS 按钮，随后选择 OAuth client ID 来进行创建

选择类型

在随后的界面中，选择 Application Type 的授权类型为Web application 。

在 Authorized JavaScript Origins 界面中，添加你的网站 URL，需要注意的是这个网站的 URL 需要以 http:// 或者 https:// 开头。

在 Authorized Redirect URI 部分，需要在你前面输入的 URL 后面添加 /auth/google_oauth2/callback。

然后单击 Create 按钮来进行创建。

需要注意的是，从 2021/09/13 (September 13) 开始， Google 将会要求所有访问 Google 服务的网站都需要使用 https。因此你的 Discourse 网站需要尽量使用 https。

获得秘钥对

在 OAuth 客户端对话框中将会显示 client ID 和 secret。

查看秘钥对（可选）

这一步的操作是可选的，现在从你的项目中，单击 Credentials 选项，你便可以找到 OAuth 秘钥来进行编辑或者删除。

Discourse 配置

在你的 Discourse 配置中，单击 enable google oauth2 logins，然后输入你在上面的步骤中获得的 google oauth2 client id 和 google auth2 client secret。

并且将上面的秘钥对输入到正确的配置对话框中。

至此，针对 Google 的登录配置应该配置完成了。

你可以通过 Discourse 的前端来来进行测试。

Tips

针对启用 Gsuite 登录的配置，请使用配置参数 google oauth2 hd。有关更多的内容，请访问这里。

ID token 将会被 Discourse 进行校验，上面的链接就是 Discourse 进行校验的源代码。

请参考原文 iSharkFly - 飞鲨 了解更多内容。

感谢官方的支持。

1 Beitrag - 1 Teilnehmer