资源服务器如何知道我的熊访问令牌是有效的[重复]

Posted

技术标签:

【中文标题】资源服务器如何知道我的熊访问令牌是有效的[重复]【英文标题】:How the resource server does know that my bear access token is valid [duplicate] 【发布时间】:2019-03-09 15:39:32 【问题描述】:

REST API 如何保护自己免受不是由允许的 OAuth 访问令牌 URL 生成的访问令牌?

由允许的 OAuth 访问令牌 URL 生成的令牌

“授权:小熊MTqvlvbdm73SIsN2PEhsetOwEHW439N2”

黑客生成的令牌

“授权:熊CAqvlvbdm73SIsN2PEhsetOwEHW439N2”

【问题讨论】:

***.com/a/28048217/88122 有帮助吗? 【参考方案1】:

这超出了 Oauth 协议的范围:请参阅规范的 Section 1.5 并注意您的问题是步骤 D。文档说:

步骤 (C)、(D)、(E) 和 (F) 超出了本规范的范围,如第 7 节所述。

Section 7 says:

客户端通过向资源服务器提供访问令牌来访问受保护的资源。资源服务器必须验证访问令牌并确保它没有过期并且其范围涵盖了所请求的资源。资源服务器用于验证访问令牌(以及任何错误响应)的方法超出了本规范的范围,但通常涉及资源服务器和授权服务器之间的交互或协调。

但我注意到并不总是需要这样。例如,如果您的访问令牌是 JWT,那么资源服务器应该能够在不与授权服务器交互的情况下进行验证。

它超出范围的原因是因为它取决于您的架构。有多种方式可以实现这一点。例如,如果资源服务器和访问服务器共享同一个数据库,那么它们就不需要相互通信。

【讨论】:

以上是关于资源服务器如何知道我的熊访问令牌是有效的[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OAuth 资源服务器中验证访问令牌

oauth2 - 资源服务器如何知道用户是否已获得授权?

如何在资源请求上重新生成刷新令牌和访问令牌?

如何跟踪具有访问令牌的用户是否仍具有有效会话?

JWT 令牌是如何认证的?

如何让用户使用隐式流登录?