跳转到内容
搜索文档

Google

最后更新 查看 MarkdownAgent 设置

您可以在没有 Google Workspace 账户的情况下将 Google 身份验证与 Cloudflare Access 集成。该集成允许任何拥有 Google 账户的用户登录(如果 Access 策略允许他们访问该资源)。与 Google Workspace 的说明不同,以下步骤将不允许您从 Google Workspace 账户中提取群组成员身份信息。

您不需要成为 Google Cloud Platform 用户即可将 Google 作为身份提供程序集成到 Cloudflare One。您只需要打开 Google Cloud Platform 来配置 IdP 集成设置。

将 Google 设置为身份提供程序

  1. 登录到 Google Cloud Platform 控制台。创建一个新项目,命名项目并选择 Create(创建)

  2. 在项目主页上,转到 APIs & Services(API 和服务),并在侧边栏中选择 Credentials(凭据)

  3. 选择 Configure Consent Screen(配置同意屏幕)

    在 Google Cloud Platform 控制台中配置 Consent Screen 的位置。
  4. 要配置同意屏幕(consent screen):

    1. 选择 Get started(开始)
    2. 输入 **App name(应用名称)**和 User support email(用户支持电子邮件)
    3. 选择 **External(外部)**作为 Audience Type(受众类型)。由于此应用不是在 Google Workspace 账户中创建的,因此任何拥有 Gmail 地址的用户都可以登录。
    4. 输入您的 Contact Information(联系信息)。Google Cloud Platform 需要您账户中的电子邮件。
    5. 同意 Google 的用户数据政策并选择 Continue(继续)
    6. 选择 Create(创建)
  5. OAuth 概览页面将加载。在 OAuth 概览屏幕上,选择 Create OAuth client(创建 OAuth 客户端)

    在 Google Cloud Platform 控制台中创建 OAuth 客户端的位置。
  6. 选择 Web application 作为 Application type(应用程序类型),并为您的 OAuth Client ID 命名。

  7. 在 **Authorized JavaScript origins(已授权的 JavaScript 来源)**下的 URIs 字段中,输入您的团队域:

    https://<your-team-name>.cloudflareaccess.com

    您可以在 Cloudflare 仪表板Settings(设置)> Team name and domain(团队名称和域名)> **Team name(团队名称)**下找到您的团队名称。

  8. 在 **Authorized redirect URIs(已授权的重定向 URI)**下的 URIs 字段中,输入以下 URL:

    https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback
  9. 创建 OAuth 客户端后,选择您刚刚创建的 OAuth 客户端。Google 将显示 **OAuth Client ID(OAuth 客户端 ID)**值和 **Client secret(客户端密钥)**值。客户端密钥(client secret)字段的作用类似于密码,不应共享。复制 **OAuth Client ID(OAuth 客户端 ID)**值和 **Client secret(客户端密钥)**值。

  10. Cloudflare 仪表板中,转到 Zero Trust > Integrations(集成)> Identity providers(身份提供商)

  11. 在 **Your identity providers(您的身份提供商)**下,选择 Add new identity provider(添加新身份提供商)。在下一页选择 Google(Google)

  12. 输入之前生成的 Client ID(在 Cloudflare 仪表板中为 App ID(应用程序 ID))和 **Client Secret(客户端密钥)**字段。

  13. (可选) 启用 Key Exchange 证明 (PKCE)。PKCE 将在所有登录尝试中执行。

  14. 选择 Save(保存)

测试您的连接

要测试您的连接是否正常工作,请转到 Integrations(集成)> Identity providers(身份提供商),然后选择 Google 旁边的 Test(测试)

示例 API 配置

{
	"config": {
		"client_id": "<your client id>",
		"client_secret": "<your client secret>"
	},
	"type": "google",
	"name": "my example idp"
}

故障排除

Error 401: deleted_client

如果您在 Google 中删除了 OAuth 客户端(或 OAuth 客户端已过期),您将收到 Error 401: deleted_client 授权错误。

要解决此问题,请完成 Google 指南中的步骤 6 至 12,以及 Google Workspace 指南中的步骤 9 至 15。

这篇文档对您有帮助吗?