Oauth 2.0 我应该在我的应用程序中使用哪种OAuth流来集成Google驱动器?

Oauth 2.0 我应该在我的应用程序中使用哪种OAuth流来集成Google驱动器?,oauth-2.0,google-drive-api,google-oauth,firefox-addon-webextensions,Oauth 2.0,Google Drive Api,Google Oauth,Firefox Addon Webextensions,我对谷歌的OAuth API感到失望。我的用例似乎没有包含在可用的端点中。我希望有人与谷歌驱动器OAuth API的知识可以建议我 我正在开发一个浏览器附加组件。这意味着我的应用程序是: 无服务器。我不想为这个项目维护域和Web服务器 开源,因此为任何可以安装该插件的人提取与代码打包的任何机密都很简单。因此,随附加组件分发的任何信息都必须视为公共信息 我想添加Google驱动器集成,以便用户可以在驱动器上存储应用程序配置数据,以便在设备之间进行同步(WebExtensionsbrowser.st

我对谷歌的OAuth API感到失望。我的用例似乎没有包含在可用的端点中。我希望有人与谷歌驱动器OAuth API的知识可以建议我

我正在开发一个浏览器附加组件。这意味着我的应用程序是:

  • 无服务器。我不想为这个项目维护域和Web服务器
  • 开源,因此为任何可以安装该插件的人提取与代码打包的任何机密都很简单。因此,随附加组件分发的任何信息都必须视为公共信息
  • 我想添加Google驱动器集成,以便用户可以在驱动器上存储应用程序配置数据,以便在设备之间进行同步(WebExtensions
    browser.storage.sync
    API不够,因为数据太多)。我的要求是:

  • 用户每月登录Google Drive的次数不应超过一次。当然不是每小时一次,也不是每次他们使用附加组件时
  • 这应该适用于同一Google Drive帐户的多个设备
  • 如果Alice授权MyApp访问alice@google.com,Eve从MyApp源代码中提取OAuth客户机ID/secret或其他信息,Eve应该无法访问alice@google.com不知道爱丽丝的谷歌密码

  • 谷歌网站上记录的流量似乎都不能满足这两个要求。我尝试了刷新令牌,因为我认为刷新令牌可以满足要求(1),但谷歌似乎只在我第一次请求刷新令牌时才发出刷新令牌。之后,我只得到一个短期(一小时)访问令牌。因此,这违反了要求(2),因为无论哪个设备首先与谷歌通话,都将是唯一具有刷新令牌的设备。

    谷歌不允许标识吗?因此,用户只需对同一逻辑应用程序授予一次授权。@Jescanellas我认为这并不能真正涵盖用户在多个设备上运行同一应用程序的情况。这听起来更像是针对具有多个分布式组件的应用程序,如服务器和移动应用程序。我明白了,不幸的是,我不认为你试图做的是可能的。谷歌不允许身份吗?因此,用户只需对同一逻辑应用程序授予一次授权。@Jescanellas我认为这并不能真正涵盖用户在多个设备上运行同一应用程序的情况。这听起来更像是针对具有多个分布式组件的应用程序,如服务器和移动应用程序。我明白了,不幸的是,我不认为您正在尝试做的是可能的