如何将Google Workspace Marketplace插件的OAuth授权共享到外部应用
解答
1. 先确定插件关联的OAuth凭据
你在Google Workspace Marketplace发布插件时使用的Google Cloud(GCP)项目,就是插件授权流程关联的项目。你可以直接登录该GCP项目,进入「API和服务」→「凭据」页面,就能找到插件授权时调用的OAuth 2.0客户端ID,这套凭据就是manifest配置对应的授权凭据,不属于Google官方,完全由你管控。
2. 令牌复用的可行方案
只要满足两个条件,就可以直接在你的外部应用中共享插件获取的access/refresh令牌:
- 你的外部应用使用和插件同一个GCP项目下的同一组OAuth客户端凭据完成OAuth配置
- 插件manifest中声明的OAuth权限范围,完全覆盖你外部应用需要调用的Google API权限范围
access令牌默认有效期1小时,你可以通过refresh令牌自动刷新获取新的access令牌,refresh令牌只要用户没有主动撤销授权、你没有调整请求的权限范围,就可以长期有效。你可以在自己的后端统一维护用户的令牌池,同时供给插件和外部应用调用。
3. 无法共用凭据时的替代方案
如果因为业务架构限制,你的外部应用没法和插件共用同一套OAuth凭据,可以在用户首次使用插件时增加一次轻量授权流程:引导用户给外部应用对应的OAuth凭据授权,此时用户已经处于Google账号登录状态,不需要重复输入账号信息,仅需一次同意操作即可完成授权,用户感知成本极低。
注意事项
你需要确保授权复用的行为符合Google OAuth服务条款,以及你在Workspace Marketplace上架时公示的隐私政策,明确告知用户授权的使用范围会覆盖你的外部应用,不得超范围使用用户授权。
内容的提问来源于stack exchange,提问作者Roger
相关产品推荐
相关产品推荐

