OAuth客户端实现,带有多个资源、多个身份验证服务器

OAuth客户端实现,带有多个资源、多个身份验证服务器,oauth,Oauth,我试图了解OAuth最佳实践实现策略,这些策略适用于需要访问由不同授权服务器支持的受保护资源的系统。默认答案是使用每个授权服务提供的访问令牌,并根据需要编写逻辑来存储它们,但是需要多个联邦保护资源的系统的用例似乎很常见,因此可能存在协议/框架级别的解决方案。如果是这样的话,我还没有找到它 下面是一个假设的例子来说明: 我是一个在Dropbox、Google Drive和Boxx上拥有帐户的用户。我想制作一个后端API来报告我在所有三个系统中拥有的文件总数,即,Result=FileCount(D

我试图了解OAuth最佳实践实现策略,这些策略适用于需要访问由不同授权服务器支持的受保护资源的系统。默认答案是使用每个授权服务提供的访问令牌,并根据需要编写逻辑来存储它们,但是需要多个联邦保护资源的系统的用例似乎很常见,因此可能存在协议/框架级别的解决方案。如果是这样的话,我还没有找到它

下面是一个假设的例子来说明:

我是一个在Dropbox、Google Drive和Boxx上拥有帐户的用户。我想制作一个后端API来报告我在所有三个系统中拥有的文件总数,即,
Result=FileCount(Dropbox)+FileCount(Drive)+FileCount(Boxx)
。如何以一种可以轻松管理授权的方式组织系统?少数情况:

  • 单一帐户:如果我只有一个驱动器帐户,那么设置就很简单。有一个受保护的资源(我的文件夹),一个授权服务器(谷歌),所以我只需要考虑一个令牌。通过更改授权端点并重新定义FileCount函数,我可以使此应用程序适用于我关心的任何存储客户端(Dropbox、Google、Boxx)

  • 多帐户:如果我想聚合来自每个受保护资源的数据,我现在需要三个单独的授权,因为每个受保护资源都由一个单独的授权服务器管理。抱歉,我不能“链接”这些客户机以使用单个授权服务器。因此,如果我有N个受保护的资源由N个授权服务器支持,那么我将有N个访问令牌来管理给定的请求/会话。假设这是真的,软件框架提供了什么条款来处理这个问题(任何语言的任何示例都可以)?这似乎是一个太普遍的问题,无法抽象

我能找到的最密切相关的问题可能是。被接受的答案似乎完全合理:未经明确同意,一个应用程序不应伪装成另一个应用程序。我所寻找的(我认为)略有不同:一些标准的方法/框架/方法来管理每个会话的多个同时访问令牌。我还想知道是否可能有一个独立的授权服务器,可以根据需要代理其他服务器,并管理令牌记账(仍然需要每个服务器的用户同意),但我认为这相当于一件事

提前谢谢