【问题标题】:REST API to API authentication with Authorization Server使用授权服务器的 REST API 到 API 身份验证
【发布时间】:2019-08-01 19:21:20
【问题描述】:
我基本上有 3 种类型的应用程序,首先我有一个授权服务器 (AuthServer)、一个资源服务器 (ResServer1) 和一个网站。因此,基本上所有从网站对 ResServer1 的调用都使用承载令牌对 AuthServer 进行身份验证,该令牌也在请求标头中传递。 AuthServer 基于 ResourceOwner 的授权类型,这意味着用户为了访问受保护的方法,需要使用用户名密码进行身份验证
我现在遇到的问题是我需要引入一个新的资源服务器 (ResServer2),它将调用 ResServer1 中的资源。问题在于从系统到系统调用的身份验证,因为 ResServer2 服务不是用户。验证其他服务的最佳方式是什么?
【问题讨论】:
标签:
c#
asp.net-mvc
jwt
authorization
bearer-token
【解决方案1】:
在这种情况下,存在client_credentials 授权类型,您的 ResServer2 将成为消费者和资源。因此,推荐的方法是这样设置,但在这种情况下,您的 ResServer2 将没有任何用户上下文。
我遇到过类似的情况,我们有很多旧代码,具体取决于用户上下文,并且无法将整个授权机制更改为基于策略的方法,我并不是说这种方法很好,但我们基本上设置了我们的网站请求 ResServer1 和 ResServer2 的范围,然后一旦用户登录,然后前端从 ResServer1 请求受保护的数据,ResServer1 每当需要从 ResServer2 请求受保护的数据时,只会重用在来自 WebApp 的原始请求。