JWT和服务器端令牌存储

tra*_*jan 5 token jwt

我阅读过的每篇文章都证明了JWT的优势,其中的优势之一就是它可以将auth系统分布在多个服务器上。即。您不必依赖用户身份验证详细信息的中央存储库来对每个请求进行查找。

但是,在实现方面,我在很多地方都读到,为了增加安全性,您不应该仅依赖JWT签名验证本身,还应该维护服务器生成的黑名单或白名单令牌的列表。

这是否破坏了我上面列出的优势,因为令牌列表需要集中存储在所有服务器都可以访问的位置,并且需要在每个请求上进行查找?

人们如何最终实现这一目标?

Dar*_*rov 2

您在问题中提出了非常好的观点。实际上,将 OAuth 令牌存储在中央位置是有意义的,以便更轻松地实现注销/撤销功能。如果您仅依赖令牌签名,则不可能实现此类功能。假设用户想要撤销访问令牌。在这种情况下,如果您没有那些令牌的中央位置/数据存储,您将使其失效并且仅依赖于令牌签名,那么令牌仍然有效。

因此,事实上,当您想要构建依赖于 OAuth 令牌的更高级系统时,这些令牌的中央存储是必须的。