JWT的标志是什么 为何你的应用需要它们

2026年9月7日2 次浏览来源:Dev.to阅读原文

他们是什么,他们是如何工作的, 为什么你的应用程序需要他们 你登录到一个应用程序。

几秒钟后,你进入了——这个应用程序知道你是谁,你被允许做什么,并且在你剩下的会议中一直知道。

怎么会?

服务器没有要求您再次登录下一页 。

它没有在数据库里查过你 每次点击。

有些东西带着你的身份, 在大多数现代应用中, 有些东西是JWT的标志。

本条解释了JWT标志是什么,包含什么,为什么它们成为现代应用中认证的标准机制.

JWT令牌在令牌之前解决的问题,最常见的方法是服务器侧会话.

当您登录时, 服务器在内存或数据库中创建了会话记录, 指定它为ID, 并将该ID作为 cookie 发送给您的浏览器 。

在之后的每一个请求中,浏览器都会将饼干发回,服务器查看会话,找到您的用户数据,然后继续.

这样做是可行的,但它有局限性。

服务器必须存储和查询每个单项请求的会话数据.

如果在负载平衡器后面有多个服务器,它们都需要访问同一会话商店.

如果你正在构建一个移动应用程序或第三方API集成,cookie是尴尬的工作.

随着申请的日益普及,会议也成为了瓶颈。

JWT令牌背后的想法不同:不是将您的身份存储在服务器上并交给您取回钥匙,服务器直接给了您身份数据——以不可被篡改的方式包装.

JWT JWT代表什么 JSON Web Token。

它是一个紧凑自成一体的字符串,以任何系统都能独立读取和验证的格式,携带一个用户的信息——或一个应用程序所获得权限的信息.

JWT看起来像这样: 它没有默认加密——它只是被编码.

也就是说你可以解码并读取里面的内容.

由点分隔出的三个部分是头,有效载荷和签名.

什么JWT实际上包含 信头描述了信使本身——具体来说,是用哪个算法来签名的.

这告诉接收者如何验证签名.

有效载荷是实际信息存在的地方.

这是一个JSON对象,包含一组权利要求——关于用户或指使物上下文的声明.

一个典型的有效载荷看起来是这样的:每个战地都是权利主张.

有些是标准化的——是主题(用户标识符),是到期时间戳.

其它类似的情况是:您的应用程序根据自身需求定义的习惯性主张。

签名是使象征值得信赖的。

它由授权服务器使用私人密钥生成,覆盖头和有效载荷.

如果有人甚至修改了该符号的单个字符,签名就变得无效. 💡 已编码, 未加密 标准JWT的有效载荷为Base64-encoded,指任何有信使的人都可以读取其内容.

从不把敏感信息——密码、信用卡号码和个人数据——放入JWT的有效载荷。

签名保证完整性,而不是保密性。

签名如何使它可信 当您的授权服务器发布 JWT 时, 它会用只有服务器持有的私人密钥来签名 。

当一个API收到该令牌时,它会使用相应的公钥验证签名——它可以从授权服务器的发现端得到.

如果签名是有效的,API知道两件事: 指使牌是由授权服务器真正发行的,其内容此后没有被修改.

不需要数据库的查询——这个信使是自成一体的,可以自我核查的.

因此,JWT标志在分布式系统中运作良好。

任何拥有公钥的服务可以独立地验证任何符号,而不与中央会话商店相协调.

您的应用为何需要这个 JWT 符号同时解决几个实际问题: 无国籍认证 — t

分享