欢迎关注头条号:老顾聊技术
精品原创技术分享,知识的组装工
目录
- 前言
- JWT是什么
- JWT数据结构
- Header
- Payload
- Signature
- JWT的工作方式
- 基于JWT的身份认证
- 与Session-Cookie方式的区别
- JWT方式认证的好处
- JWT方式认证的坏处
- 总结
前言
小伙伴们老顾在上一篇微服务下的分布式session该如何管理?介绍了Session实现方式,这篇文章中我们来了解一下JWT是何方神圣?以及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