具有多个资源服务器的OAuth 2.0身份验证服务器

raf*_*fis 5 oauth oauth-2.0

我正在尝试oauth2在我们的API中实现基本身份验证。

我已经构建了一个身份验证服务器,并在API#1和API Server#2中实现了访问令牌验证。

所以我的问题是,如何oauth2与多个API一起使用?

目前,我可以通过一个access_token访问所有API,但是我想这应该不是...,还是我误会了什么?

而且我不确定scopes参数,这更多是权限问题,并且未指定访问令牌应发布给哪个api。

Han*_* Z. 5

假设您使用单个授权服务器,范围概念允许您处理此问题:您可以为每个 API 定义一个范围,并让客户端请求一个或两个范围。颁发与多个范围(即您的情况下的 API)关联的访问令牌是完全有效且实用的 OAuth 2.0。

访问令牌是按每个客户端颁发的,因此向同一客户端分发不同的访问令牌不会给您带来任何安全优势,除非两个 API 由不同的实体控制。无论如何,客户端都必须改变请求它们的方式,这将再次使用范围来完成。

  • 我也有同样的问题。我正在发布一个具有多个范围的访问令牌,这些范围跨越由不同实体控制的多个资源服务器,这意味着当客户端向一个 RS 提供访问令牌时,该 RS 可以转身并使用它来访问另一个 RS,这是不好的。不知道如何解决这个问题。使用 client_id 对我来说没有意义,因为 OAuth2 不要求客户端在使用 AT 作为承载令牌时使用 RS 来标识自己。(另外,汉斯,你的链接已损坏。) (2认同)