为什么 JWT 是无状态认证?

Why JWT is a stateless authentication?

我想了解 JWT 身份验证是如何无状态的。在有状态身份验证中,将有一个会话 ID。这里有一个已签名的 JWT 令牌。所以认证服务器颁发了JWT token,但是我能说后续请求中JWT token的验证是由端点服务器(应用服务器)而不是认证服务器完成的吗?我相信这是可能的,因为 JWT 已签署到期日期(以及其他一些信息)并且 public 身份验证服务器证书可用于所有端点服务器。

因此身份验证服务器将只负责颁发令牌而不负责验证。验证将由端点服务器完成。

我的理解对吗?这就是 JWT 无状态化的方式吗?否则,我看不出它与有状态身份验证有何不同,因为两者都可以使用令牌来实现。

在有状态身份验证中,中央服务器将负责颁发令牌以及验证每个请求。

JSON Web Tokens (JWT) 被称为 stateless 因为授权服务器不需要保持任何状态;令牌本身就是验证令牌持有者授权所需的全部。

JWT 使用无法伪造的数字签名算法(例如 RSA)签名。因此,任何信任签名者证书的人都可以放心地相信 JWT 是真实的。服务器无需咨询令牌发布服务器来确认其真实性。

请注意,在此图中,资源服务器不需要与授权服务器核对:

来源:https://jwt.io/introduction/

在无状态身份验证中,不需要在会话中存储用户信息。我们可以轻松地使用相同的令牌从我们登录的域以外的域中获取安全资源。

参考:https://www.jbspeakr.cc/purpose-jwt-stateless-authentication/