同时,只有 1 个用户帐户的 1 个访问令牌访问了我的应用程序 - Web API (OAuth2)

At the same time , just 1 Access token of 1 user account is accessed my app - Web API (OAuth2)

我使用 Oauth2 来保护我的网站 API。我的问题是:

用户 "A" 使用帐户 "A" 登录,访问令牌 "A" 已被授予。用户 "B" 使用帐户 "A" 登录,访问令牌 "B" 被授予。然后两个访问令牌 "A","B" 都可以访问我的资源(同一个帐户 "A")。

如何更改此行为,以便在用户 "B" 登录时授予访问令牌 B 而访问令牌 "A" 已过期。

谢谢。

除非您想更改您的网站 API 以回调授权服务器并检查令牌是否已撤销,否则这并不容易。此外,您还必须更改您的身份验证服务器以根据您的特定规则撤销令牌。

这与 Oauth2.0 规范的原则背道而驰,因为资源服务器(您的网站 api)在拥有有效令牌(即签名正确,未过期且范围正确)。

我认为 Oauth2.0 在这种情况下可能不是最佳解决方案。

行为 --- 颁发新的访问令牌是否会使现有访问令牌无效 --- 取决于 OAuth 2.0 服务器实现。 OAuth 2.0 规范 (RFC 6749) 不对该行为施加任何限制。

事实上,某个 OAuth 2.0 服务器实现提供了一项功能,使服务器管理员能够配置行为。有关详细信息,请参阅