前言
在学习 API 开发以及网络授权的过程中,我们会接触很多的新概念,JWT(Json Web Token) 就是之一,JWT 简单来看是一种结构紧凑、自包含的数据格式标准,定义了严格的数据规范,但是它有专属的使用场景,而它的使用场景就是由其结构中的 Signature 决定的。Signature 不同于一般的数据,它的存在就说明 JWT 的使用场景中必然有授权相关的流程或者信息交换时需要对数据进行保护。
什么是JWT?
JWT是Json Web Token的缩写,json的数据格式相关,在web应用的场景,token也就令牌基于身份的验证,表明身份且具有的权限,token即身份。JWT 简单来看是一种结构紧凑、自包含的数据格式标准。紧凑就是以非常少的字符携带丰富的信息传输,自包含就是数据与数据之间存在关系和相互验证的。
使用场景:
1、用户授权(OAuth2或者单点登录)
2、更安全的信息交换
JWT数据格式说明
https://jwt.io/
1、红色解码成HEADER部分
header头规定了返回的数据格式,数据加密的算法等信息
2、紫色解码成PAYLOAD部分
PAYLOAD承载的携带数据部分,以json的格式表达
3、蓝色解码成VERIFY SIGNATURE部分
VERIFY SIGNATURE验证签名方式,VERIFY SIGNATURE包含了HEADER以及PAYLOAD的数据部分,当HEADER或者PAYLOAD数据被篡改时VERIFY SIGNATURE是不会通过验证