微服务 OAuth 2.0 范围实现
Micro Services OAuth2.0 Scope implementation
对于 OAuth 2.0 实施,实施此类方案的最佳方式是什么。
我的后端是微服务架构设计的。
我有客户端“Mobile”,它将调用 ServiceA。
我可以将“ScopeA”范围添加到“移动”客户端,这很好。
那么假设明天 ServiceA 将调用 ServiceB 的授权端点来完成请求。
我的问题是
哪个选项是正确的
- 当 ServiceA 开始调用 ServiceB 时,我应该将 ServiceB 范围添加到移动客户端
- 我的意思是将 'Mobile' 客户端访问令牌传播到令牌中具有所有必需范围的所有微服务。
- ServiceA 应该获取自己的访问令牌来调用 ServiceB,而不是使用移动客户端访问令牌来调用 ServiceB。
对于第二个选项,我们将丢失主题信息等信息。
这里有多种选择。一种选择是在 ServiceA 和 ServiceB 之间使用 client credientials flow。在请求中,您可以将用户详细信息作为普通请求参数传递。
这种方法的优点是,即使用户未登录,ServiceA 也可以独立于用户是否登录与 ServiceB 联系。例如,ServiceA 可能需要向 ServiceB 执行一些后台请求。
另一个更高级的选项是委托身份验证,您可以在this文章
中阅读相关内容
对于 OAuth 2.0 实施,实施此类方案的最佳方式是什么。
我的后端是微服务架构设计的。
我有客户端“Mobile”,它将调用 ServiceA。
我可以将“ScopeA”范围添加到“移动”客户端,这很好。
那么假设明天 ServiceA 将调用 ServiceB 的授权端点来完成请求。
我的问题是
哪个选项是正确的
- 当 ServiceA 开始调用 ServiceB 时,我应该将 ServiceB 范围添加到移动客户端
- 我的意思是将 'Mobile' 客户端访问令牌传播到令牌中具有所有必需范围的所有微服务。
- ServiceA 应该获取自己的访问令牌来调用 ServiceB,而不是使用移动客户端访问令牌来调用 ServiceB。
对于第二个选项,我们将丢失主题信息等信息。
这里有多种选择。一种选择是在 ServiceA 和 ServiceB 之间使用 client credientials flow。在请求中,您可以将用户详细信息作为普通请求参数传递。
这种方法的优点是,即使用户未登录,ServiceA 也可以独立于用户是否登录与 ServiceB 联系。例如,ServiceA 可能需要向 ServiceB 执行一些后台请求。
另一个更高级的选项是委托身份验证,您可以在this文章
中阅读相关内容