由于登录体验可能是用户与您的插件进行的首次互动,因此请务必让用户能够尽可能顺畅地完成流程。请阅读以下部分,熟悉各种登录 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 课堂,然后使用正确的账号登录并重试操作。
如果由于多重登录问题,错误的用户登录了插件,您对 Google 课堂插件 API 的调用可能会失败并返回 InvalidAddOnToken
错误。如果您收到此类错误,应指示用户在浏览器中退出所有其他账号,或改为在 Chrome 无痕式窗口中打开 Google 课堂。