OAuth 客户端验证 (original) (raw)

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

如果您未验证脚本项目的 OAuth 客户端,则网域外的用户在尝试为您的脚本授权时会看到_未经验证的应用_页面。_未经验证的授权流程_允许这些用户授权未经验证的应用并使用它们,但前提是他们必须确认自己了解相关风险。未经验证的应用用户总数也设有上限。

有关详细信息,请参阅以下文章:

表明应用未经验证的屏幕

图 1:未验证的应用屏幕

未经验证应用授权流程

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

这项变更适用于 Google OAuth Web 客户端,包括所有 Apps Script 项目使用的客户端。通过向 Google 验证应用,您可以从授权流程中移除“未经验证的应用”屏幕,让用户确信您的应用没有恶意。

未经验证的应用

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

适用性

如果应用使用敏感的 OAuth 范围,系统可能会在授权流程中显示“应用未经验证”屏幕。其存在性(以及随之而来的未经验证的应用授权流程)取决于应用是通过哪个账号发布的,以及哪个账号尝试使用该应用。例如,在特定 Google Workspace 组织内发布的应用不会导致该网域中的账号出现未经验证的应用授权流程,即使该应用尚未经过验证也是如此。

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

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

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

用户数上限

系统会限制可通过未经验证应用流程为应用授权的用户数量,以防范可能的滥用行为。如需了解详情,请参阅 OAuth 应用用户数限制

请求验证

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

要求

若要提交 OAuth 客户端以供验证,您必须满足以下要求:

  1. 您必须拥有一个网域上的网站。该网站必须托管可公开访问的页面,其中介绍您的应用及其隐私权政策。您还必须向 Google 验证您对该网站的所有权
  2. 脚本项目使用的 Google Cloud 项目必须是您拥有修改权限的标准 Google Cloud 项目。如果您的脚本使用的是默认 Google Cloud 项目,您必须改用标准 Google Cloud 项目

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

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

步骤

  1. 如果您尚未验证用于托管脚本项目的隐私权政策和其他信息的所有已获授权网域的所有权,请立即进行验证。域名的经过验证的所有者必须是脚本项目的 Editor 或 Owner。
  2. 在 Apps 脚本项目中,点击概览图标 。 在 Project OAuth Scopes(项目 OAuth 范围)下,复制脚本项目使用的范围。
  3. 使用您收集的文字和网址素材资源为应用的 Google Cloud 项目完成 OAuth 同意屏幕
    1. 列出托管应用信息(例如隐私权政策)的已获授权的网域
    2. 如需添加应用级范围,请点击添加或移除级范围。随即显示的对话框会尝试自动检测您在 Google Cloud 控制台中启用的 API(例如高级服务)的范围。您可以选中相应的复选框,从此列表中选择镜重范围。
      此自动检测到的列表并不总是包含 Apps 脚本内置服务使用的镜重。您必须在手动添加范围下输入这些范围。
      完成后,点击更新
  4. 输入所有必要信息后,点击保存
  5. 点击提交以供验证,发起验证请求。

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