OAuth 客户端验证

请求某些敏感 OAuth 范围的 Google OAuth 客户端需要经过 Google 验证。

如果您不验证脚本项目的 OAuth 客户端,网域外的用户在尝试为您的脚本授权时,会看到未经验证的应用屏幕。借助未验证的授权流程,用户可以向未经验证的应用授权并使用它们,但只能在确认了解相关风险后才授权。未经验证的应用用户的总数也是上限。

详情请参阅以下文章:

 

应用屏幕未经验证
图 1:未经验证的应用屏幕
应用授权流程未经验证
图 2:未经验证的应用授权流程

 

此更改适用于 Google OAuth Web 客户端,包括所有 Apps 脚本项目使用的客户端。通过通过 Google 验证您的应用,您可以从授权流程中移除未经验证的应用屏幕,让用户确信您的应用是非恶意应用。

未经验证的应用

插件、Web 应用和其他部署(例如使用 Apps Script API 的应用)可能需要进行验证。

适用性

如果应用使用敏感 OAuth 范围,未经验证的应用屏幕可能会作为授权流程的一部分显示。其存在状态(以及由此产生的未经验证的应用授权流程)取决于应用是通过哪个帐号发布的以及所使用的帐号尝试使用该应用。例如,在特定 Google Workspace 组织中发布的应用不会导致该网域中帐号的未经验证的应用授权流程,即使该应用未经过验证也是如此。

下表说明了导致未经验证的应用授权流程的情形:

客户已通过验证 发布商是客户 A 的 Google Workspace 帐号 脚本位于客户 A 的共享云端硬盘中 发布商是 Gmail 帐号
用户是客户 A 的 Google Workspace 帐号 常规身份验证流程 常规身份验证流程 常规身份验证流程 身份验证流程未经验证
用户不是客户 A 的 Google Workspace 帐号 常规身份验证流程 身份验证流程未经验证 身份验证流程未经验证 身份验证流程未经验证
用户是 Gmail 帐号1 常规身份验证流程 身份验证流程未经验证 身份验证流程未经验证 身份验证流程未经验证

1 任何 Gmail 帐号,包括用于发布应用的帐号。

用户数上限

可以通过未经验证的应用流程授权应用的用户数具有上限,以限制可能的滥用行为。如需了解详情,请参阅 OAuth 应用用户限制

请求验证

您可以请求验证您的应用及其关联的 Cloud Platform (GCP) 项目使用的 OAuth 客户端。您的应用经过验证后,您的用户将不会再看到未经验证的应用屏幕。此外,您的应用不再受用户数上限的约束。

要求

如需提交 OAuth 客户端进行验证,您必须满足以下要求:

  1. 您必须在域名中拥有一个网站。网站必须托管可公开访问的页面,其中描述了您的应用及其隐私权政策。您还必须通过 Google 验证您对网站的所有权

  2. 您的脚本项目使用的 GCP 项目必须是您拥有修改权限的标准 GCP 项目。如果您的脚本正在使用其默认 GCP 项目,您必须切换到标准 GCP 项目

此外,您还必须提供以下必需素材资源:

  • 应用名称。应用的名称;该名称会显示在同意屏幕上。此名称应与应用在其他位置(例如已发布应用的 Google Workspace Marketplace 列表)中所使用的名称一致。
  • 应用徽标。要在同意屏幕中使用的应用徽标 JPEG、PNG 或 BMP 图片。该文件的大小不得超过 1MB。
  • 支持电子邮件地址。这是在用户需要应用支持时在同意屏幕上显示的电子邮件。它可以是您拥有或管理的电子邮件地址或 Google 群组
  • 范围:应用使用的所有范围的列表。您可以在 Apps 脚本编辑器中查看您的范围
  • 已获授权的网域。这是包含应用相关信息的网域列表。您应用的所有链接(例如必需的隐私权政策页面)都必须托管在已获授权的网域上。
  • 应用首页网址。描述您的应用的首页的位置。此位置必须托管在已获授权的网域上。
  • 应用隐私权政策网址。说明应用隐私权政策的页面的位置。此营业地点必须托管在已获授权的网域上。

除上述必需资源外,您还可以选择提供一个应用服务条款网址,该网址指向描述您应用的服务条款的页面。如果提供,此营业地点必须位于已获授权的网域中。

步数

  1. 如果您尚未用于托管用于托管脚本项目的隐私权政策和其他信息的授权网域,请进行验证。 经过验证的网域所有者必须是编辑者或脚本项目的所有者。
  2. 在 Apps 脚本项目中,点击概览 。在项目 OAuth 范围下,复制脚本项目使用的范围。
  3. 使用您收集的文本和网址资源为应用的 Google Cloud 项目填写 OAuth 权限请求页面

    1. 列出托管应用信息(例如其隐私权政策)的已获授权的网域
    2. 如需添加应用范围,请点击添加或移除范围。出现的对话框会尝试自动检测您在 Cloud 控制台中启用的 API(如高级服务)的作用域。您可以选中相应复选框,从列表中选择此列表。

      此自动检测到的列表并不总是包含 Apps 脚本内置服务所使用的范围。您必须在手动添加范围下输入这些范围。

      完成后,点击更新

  4. 输入所有必要信息后,点击保存

  5. 点击提交验证以启动验证请求。

大多数验证请求都会在 24 到 72 小时内收到回复。您可以查看 OAuth 同意表单顶部的验证状态。确认 OAuth 客户端通过验证后,您的应用即通过验证。