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. 您的脚本项目使用的 Google Cloud 项目必须是您拥有修改权限的标准 Google Cloud 项目。如果您的脚本使用的是其默认的 Google Cloud 项目,您必须切换到标准 Google Cloud 项目

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

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

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

步骤

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

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

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

      完成后,点击更新

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

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

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