JWT的组成结构:
JWT由Header(头信息),PayLoad (用户信息),Signature(签名)三个部分组成。
1、Header
Header 通常由 token 类型和签名算法名两部分组成。然后将头部进行base64加密。


2、Payload
Payload包含了一些声明(claims)。声明的名字必须是唯一的。claims 是包含了 用户数据和其他数据的陈述,对其进行base64加密,得到Jwt的第二部分。


3、Signature
拿到编码后的 header 和 编码后的 payload 使用 密码进行签名。Signature需要使用编码后的header和payload以及我们提供的一个秘钥,然后使用header中指定的签名算法进行签名,签名的作用是保证JWT没有被篡改过。

如果有人对头部以及负载内容解码后进行修改,再进行编码,最后加上之前的签名组合形成新的JWT的话,那么服务器端会判断出新的头部和负载形成的签名和JWT上附带的签名是不一样的。如果要对新的头部和负载进行签名,由于不知道服务器加密时使用的秘钥,得出来的结果也是不一样的。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐