【问题标题】:Micro Services OAuth2.0 Scope implementation微服务 OAuth 2.0 范围实现
【发布时间】:2020-12-30 16:52:19
【问题描述】:

对于 OAuth 2.0 实施,实施此类方案的最佳方式是什么。

我的后端是在微服务架构中设计的。

我有客户端“Mobile”,它将调用 ServiceA。

我可以将“ScopeA”范围添加到“Mobile”客户端,这很好。

那么我们假设明天ServiceA将调用ServiceB的授权端点来完成请求。

我的问题是

哪个选项是对的

  1. 当 ServiceA 开始调用 ServiceB 时,我应该将 ServiceB 范围添加到移动客户端
    • 我的意思是将“移动”客户端访问令牌传播到令牌中具有所有必需范围的所有微服务。
  2. ServiceA 应该获取自己的访问令牌来调用 ServiceB,而不是使用移动客户端访问令牌来调用 ServiceB。

对于第二个选项,我们将丢失主题信息等信息。

【问题讨论】:

    标签: oauth-2.0 scope client identityserver4 access-token


    【解决方案1】:

    这里有几个选项。一种选择是在 ServiceA 和 ServiceB 之间使用client credientials flow。在请求中,您可以将用户详细信息作为普通请求参数传递。

    这种方法的优点是,即使用户没有登录,ServiceA 也可以独立地联系 ServiceB,而不管用户是否登录。例如,ServiceA 可能需要对 ServiceB 做一些后台请求。

    另一个更高级的选项是委派身份验证,您可以在 this 文章中了解它

    【讨论】:

    • 委托身份验证是我正在寻找的。谢谢
    猜你喜欢
    • 2020-08-17
    • 2017-05-28
    • 2018-08-07
    • 2014-09-08
    • 2019-11-25
    • 1970-01-01
    • 2020-06-19
    • 2015-10-08
    • 2013-08-26
    相关资源
    最近更新 更多