由于登录体验是用户与您的插件的首次互动,因此他们能够尽可能顺畅地完成流程非常重要。请阅读以下部分,熟悉各种登录 API、与登录相关的查询参数、如何处理弹出式窗口拦截器,以及您在开发期间可以使用的测试计划,以确保您遵循最佳实践。
SSO 实现详情
Google 的 OAuth 2.0 与许多 OAuth 2.0 堆栈兼容。我们强烈建议您实现服务器端授权,因为 它是安全性最高的选项,并且支持使用iframe 查询 参数。
在实现 Google 登录时,请参阅 Google Identity 网站中提供的技术指南。请务必遵循 Google 登录品牌推广 指南。我们提供了 Sketch、SVG 和 EPS 文件供您下载。
登录测试
在提交插件以供审核之前,请使用插件测试计划检查您的插件是否符合要求的标准,并且能够处理已知的极端情况。这些测试与 Classroom 插件 要求核对清单非常相似,并提供有关如何检查 插件是否符合这些要求的分步说明。这些测试与发布期间对您的应用进行的测试相同。
登录查询参数
Google 课堂提供了 login_hint 查询参数,以帮助用户重复登录。如需了解详情,请参阅 iframe
查询参数页面的与登录相关的参数部分。您可以在开发者演练的
“处理重复访问”演练中找到示例代码。
管理弹出式窗口拦截器
登录对话框窗口有助于用户登录插件。此窗口会显示账号选择器屏幕,并允许用户授予 OAuth 权限。最终用户的弹出式窗口拦截器可能会阻止他们完成登录流程。

图 1. 账号选择器屏幕 示例。
如需解决此问题,请向最终用户提供一个按钮,供他们点击以绕过弹出式窗口拦截器。通过此互动,系统可以显示登录对话框,以便最终用户继续执行登录流程。确保您提供的按钮遵循登录品牌推广指南。
按照开发者演练中的登录演练实现 Google 品牌登录按钮,用户可以点击该按钮来触发登录对话框。
多重登录
如果浏览器同时登录了多个账号,可能会中断插件用户流程。最终用户可以退出当前浏览器中的所有 Google 账号, 或者在 Chrome 无痕模式窗口中打开 Classroom,然后使用正确的账号登录并重试操作。
如果由于多重登录问题而导致不正确的用户登录了插件,
您对 Classroom 插件 API 的调用可能会失败,并显示
InvalidAddOnToken 错误。如果您收到此类错误,应指示用户退出浏览器中的所有其他账号,或者改为在 Chrome 无痕式窗口中打开 Classroom。