针对 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”)。
访问 trustedblockedlimited 之一。

OAuth 错误

我们在这些新的管理员控制功能中引入了两个错误消息。

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

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

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