由于登录体验是用户与您的插件的首次互动,因此用户能够尽可能顺畅地完成流程非常重要。请阅读以下部分,熟悉各种登录 API、与登录相关的查询参数、如何处理弹出式窗口拦截器,以及您在开发期间可使用的测试计划,以确保您遵循最佳实践。
SSO 实现详情
Google 的 OAuth 2.0 与许多 OAuth 2.0 堆栈兼容。我们强烈建议实现服务器端授权,因为这是安全性最高的选项,并且支持使用 iframe 查询参数。
在实现 Google 登录时,请参阅 Google Identity 网站中提供的技术指南。请务必遵循 Google 登录品牌推广指南。我们提供 Sketch、SVG 和 EPS 文件供您下载。
登录测试
在提交插件以供审核之前,请使用插件测试计划检查插件是否符合所需标准,以及是否能够处理已知的极端情况。这些测试与 Google 课堂插件要求核对清单密切相关,并提供有关如何检查插件是否符合这些要求的分步说明。这些测试与发布期间对应用进行的测试相同。
登录查询参数
Google 课堂提供 login_hint
查询参数,以帮助简化重复登录流程。如需了解详情,请参阅 iframe 查询参数页面的与登录相关的参数部分。您可以在开发者演示的处理重复访问演示中找到示例代码。
管理弹出式窗口拦截器
登录对话框窗口可帮助用户轻松登录插件。此窗口会显示账号选择器界面,并允许用户授予 OAuth 权限。最终用户的弹出式广告拦截器可能会阻止他们完成登录流程。
图 1. 账号选择器界面示例。
如需解决此问题,请向最终用户提供一个按钮,供其点击以绕过弹出式窗口拦截器。此互动可显示登录对话框,以便最终用户继续执行登录流程。确保您提供的按钮符合登录品牌推广指南。
按照我们的开发者演练中的登录演练,实现一个带有 Google 品牌元素的登录按钮,用户点击该按钮即可触发登录对话框。
多重登录
如果浏览器同时登录了多个账号,可能会中断插件用户流程。最终用户可以先退出当前浏览器中的所有 Google 账号或在 Chrome 无痕式窗口中打开 Google 课堂,然后再使用正确的账号登录并重试相应操作。
如果由于多重登录问题而导致登录到插件的用户不正确,您对 Classroom 插件 API 的调用可能会失败,并显示 InvalidAddOnToken
错误。如果您收到此类错误,应指示用户在浏览器中退出所有其他账号,或在 Chrome 无痕式窗口中打开 Google 课堂。