针对 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 <0x0 如果是 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_configured - 当 OAuth 连接因应用未配置而被拒绝时收到。
  • 错误 400:admin_policy_enforced - 当 OAuth 连接因管理员已屏蔽您的应用而被拒绝时收到。

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

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