针对 GWfE 第三方应用访问权限控制增强后的开发者最佳做法

Google 推出了应用访问权限控制设置,让 Google Workspace 教育版管理员能够在用户使用其 Google Workspace 教育版帐号登录时更轻松地控制第三方应用访问其组织 Google 数据的方式。虽然第三方应用开发者无需采取任何行动,但下面列出了其他开发者认为有用的一些最佳实践。

使用增量 OAuth

您可以使用增量授权最初仅请求启动应用所需的范围,然后在需要新权限时请求额外的范围。然后,应用上下文会确定向用户发送请求的原因。

在登录时,您的应用会请求基本范围,例如登录范围配置文件以及应用运行所需的其他初始范围。之后,当用户想要执行需要额外范围的操作时,您的应用会请求这些额外的范围,并且用户仅会通过同意屏幕授权新范围。

构建 Google 课堂插件时,应遵循 Google Workspace Marketplace 指南,提供应用所需的 OAuth 范围的完整列表。只有这样,管理员才能了解网域用户需要同意的范围。

确保所有应用都经过 OAuth 验证

所有访问 Google API 的应用都必须验证,确保它们如 Google 的“API 服务用户数据”政策中所规定,准确呈现其身份和意图。如果您维护着多个使用 Google API 的应用,请确保每个应用都已经过验证。管理员可能会看到与您经过验证的品牌关联的所有 OAuth 客户端 ID。为帮助管理员避免配置错误的 OAuth 客户端 ID,请使用单独的 Google Cloud 项目进行测试和生产,并删除所有未使用的 OAuth 客户端 ID。

OAuth API 验证是 Google Cloud Platform 用于确保请求敏感或受限范围的应用安全且合规的流程。验证流程有助于保护 Google Cloud 用户和数据免遭未经授权的访问。

请求敏感范围或受限范围的应用必须遵守 Google API 服务用户数据政策。此政策要求应用保护用户数据,并且仅将数据用于用户授权的用途。应用可能还需要接受独立的安全评估,以验证其是否符合 Google Cloud 的安全要求。

请注意,OAuth API 验证流程最多可能需要几周才能完成。应用通过验证后,您便可以请求所需的敏感范围或受限范围。

如需了解详情,请参阅 OAuth API 验证常见问题解答

处理多个 OAuth 客户端 ID

一个 Google Cloud 项目可能有多个 OAuth 客户端 ID,这可能需要网域管理员多次配置您的访问权限。

确保 OAuth 客户端 ID 的准确性

请咨询您的开发团队,了解哪些 OAuth 客户端 ID 当前用于与 Google OAuth 集成。使用两个不同的 Google Cloud 项目进行测试和生产,以帮助管理员了解要配置哪些 OAuth 客户端 ID。从生产项目中删除所有已弃用或已过时的客户端 ID。

上传 CSV 文件

如果您有多个客户端 ID,我们建议您使用 CSV 批量上传选项,以帮助管理员快速配置您的所有应用。

字段包括:

字段 必需 备注
应用名称 输入应用的名称。您在 CSV 文件中对应用名称所做的更改不会在管理控制台中更新。
类型 Web 应用AndroidiOS 其中之一。
ID 对于 Web 应用,请输入分配给该应用的 OAuth 客户端 ID。

对于 Android 和 iOS 应用,请输入应用在 Google Play 或 Apple App Store 中使用的 OAuth 客户端 ID 或软件包 ID 或软件包 ID。
组织部门 由客户填写。

输入正斜线(“/”)将应用访问权限设置应用于整个网域。如需将访问权限设置应用于特定组织部门,请在电子表格中为每个组织部门添加一行,并重复应用名称、类型和 ID。(例如“/org_unit_1/sub_unit_1”)。
有访问权限的应用 受信任已屏蔽受限之一。

OAuth 错误

这些新的管理员控制功能引入了两条错误消息。

  • 错误 400: access_not_configuration - 因应用尚未配置而 OAuth 连接被拒时收到。
  • 错误 400:admin_policy_enforced - 当 OAuth 连接因管理员屏蔽您的应用而被拒时收到。

被指定为未满 18 周岁的用户

管理员可以为被指定为未满 18 周岁的用户管理对未配置的第三方应用的访问权限。如果用户遇到“禁止访问:贵机构的管理员需要检查应用名称”错误消息,则必须在错误消息中请求访问权限。这样,其管理员可以审核第三方应用。管理员可以决定是允许还是屏蔽第三方应用。