gpt4 book ai didi

authentication - 为什么 JWT 是无状态认证?

转载 作者:行者123 更新时间:2023-12-03 15:21:39 33 4
gpt4 key购买 nike

我试图了解 JWT 身份验证如何是无状态的。在有状态身份验证中,会有一个 session id。这里有一个已签名的 JWT token 。所以认证服务器发出 JWT token ,但是我可以说在后续请求中对 JWT token 的验证是由端点服务器(应用程序服务器)而不是认证服务器完成的。我相信这是可能的,因为 JWT 是用到期日期(以及一些其他信息)签名的,并且身份验证服务器的公共(public)证书可用于所有端点服务器。

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

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

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

最佳答案

JSON Web Tokens (JWT) 被称为无状态,因为授权服务器不需要维护任何状态; token 本身就是验证 token 持有者授权所需的全部内容。

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

请注意,在此图中,资源服务器 无需返回 授权服务器 :

Client accessing an API server
来源:https://jwt.io/introduction/

关于authentication - 为什么 JWT 是无状态认证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55881611/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com