JWT实现分布式Session
JWT是什么 JWT一看就是简称,它的 全称JSON Web Token ,从字面上我们看出 1、数据是JSON格式 2、用于Web应用 3、是一个Token,也就是一个令牌方式 看看官方的说明,它定义了一种 紧凑且自包含 的方式,用于在各方之间以 JSON对象进行安全传输信息 。这些信息可以通过对称/非对称方式 进行签名,防止信息被串改 。 紧凑的含义: 就是 JWT比较小,数据量不大 ,可以通过URL、POST参数或 Header请求头 方式进行传输。 自包含的含义: jwt可以让用户自定义 JWT里面包含的用户信息 ,如:姓名、昵称等( 不要放隐密的信息 )。从而 避免了多次查询数据库 。 JWT数据结构 JWT由三个部分组成 1、Header 2、Payload 3、Signature 三者组合在一起 Header.Payload.Signature 案例 看上去是不是满乱,我们来依次看下里面的结构。 Header 这个是 JWT第一段数据,表示头部信息 ,主要的作用是 描述JWT的元数据 ,上面的案例就是: { alg: "HS256", typ: "JWT" } 1、alg属性表示 签名的算法,默认算法为HS256 ,可以自行别的算法。 2、typ属性表示这个 令牌的类型 ,JWT令牌就为JWT。 上面的JSON数据会通过 Base64算法 进行编码而成,看工具图