JWT是JSON Web Tokens的缩写。既然叫JSON Web Tokens,所以JWT Tokens中真正包含的是多个JSON对象。为什么是多个JSON对象呢?因为SWT Token实际上是由三部分组成,其中有两部分是JSON格式。这三部分即头(Header)、负载数据(Payload)、签名(Signature)。
1、信息头(Header)
头信息包含两部分,一部分表示Token的类型,对于JWT来说,值为JWT;另一部分表示签名算法,如,HMAC、SHA256、RSA。示例如下:
2、负载信息(Payload)
负载信息是对实体与附加信息的说明。包含注册声明、公开声明、私有声明三部分。详情请参考:https://tools.ietf.org/html/rfc7519#section-4.2
3、签名(Signature)
通过指定的算法将头、负载、密码信息作为输入条件,计算而得的一个字符串。
这三部分信息不是原文传输的。在传输以前,先要进行转码压缩。这样做一是为了使传输的token数据体积小,减少