JWT的构成
第一部分我们称之为头部(header),第二部分我们称之为载荷(payload),第三部分我们称之为签证(signature)
header:jwt的头部包含两部分信息:
- 声明类型,这里是jwt
- 声明加密的算法,通常直接使用HMAC SHA256
payload:载荷就是存放有效信息的地方,这些有效信息包含三个部分:
- 标准中注册的声明
- 公共的声明
- 私有的声明
signature:签证信息,由三部分组成:
- header(base64加密后的)
- payload(base64加密后的)
- secret
这个部分需要base64加密后的header和base64加密后的payload使用连接组成的字符串,然后通过header中声明的加密方式进行加盐secret组合加密,然后就构成了jwt的第三部分
secret是保存在服务端的,jwt的签发生成也是在服务端的,secret就是永安里记性jwt的签发和jwt的验证,所以,它就是服务端的私钥,在任何场景都不应该泄露出去,一旦客户端得到这个secret,那就意味着客户端可以自我签发jwt了。
这三部分用.连接成一个完整的字符串,就构成了最终的jwt
网友评论