OAuth客户端实现,带有多个资源、多个身份验证服务器
我试图了解OAuth最佳实践实现策略,这些策略适用于需要访问由不同授权服务器支持的受保护资源的系统。默认答案是使用每个授权服务提供的访问令牌,并根据需要编写逻辑来存储它们,但是需要多个联邦保护资源的系统的用例似乎很常见,因此可能存在协议/框架级别的解决方案。如果是这样的话,我还没有找到它 下面是一个假设的例子来说明: 我是一个在Dropbox、Google Drive和Boxx上拥有帐户的用户。我想制作一个后端API来报告我在所有三个系统中拥有的文件总数,即,OAuth客户端实现,带有多个资源、多个身份验证服务器,oauth,Oauth,我试图了解OAuth最佳实践实现策略,这些策略适用于需要访问由不同授权服务器支持的受保护资源的系统。默认答案是使用每个授权服务提供的访问令牌,并根据需要编写逻辑来存储它们,但是需要多个联邦保护资源的系统的用例似乎很常见,因此可能存在协议/框架级别的解决方案。如果是这样的话,我还没有找到它 下面是一个假设的例子来说明: 我是一个在Dropbox、Google Drive和Boxx上拥有帐户的用户。我想制作一个后端API来报告我在所有三个系统中拥有的文件总数,即,Result=FileCount(D
Result=FileCount(Dropbox)+FileCount(Drive)+FileCount(Boxx)
。如何以一种可以轻松管理授权的方式组织系统?少数情况:
- 单一帐户:如果我只有一个驱动器帐户,那么设置就很简单。有一个受保护的资源(我的文件夹),一个授权服务器(谷歌),所以我只需要考虑一个令牌。通过更改授权端点并重新定义FileCount函数,我可以使此应用程序适用于我关心的任何存储客户端(Dropbox、Google、Boxx)
- 多帐户:如果我想聚合来自每个受保护资源的数据,我现在需要三个单独的授权,因为每个受保护资源都由一个单独的授权服务器管理。抱歉,我不能“链接”这些客户机以使用单个授权服务器。因此,如果我有N个受保护的资源由N个授权服务器支持,那么我将有N个访问令牌来管理给定的请求/会话。假设这是真的,软件框架提供了什么条款来处理这个问题(任何语言的任何示例都可以)?这似乎是一个太普遍的问题,无法抽象