JWT---JWT基础知识点
什么是JWT
JWT是Json Web Token 的缩写,JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。就是这是一种认证机制,让后台知道请求是来自于受信的客户端。
JWT的组成部分
HEADER(算法与令牌)
存放令牌类型和算法信息
令牌类型默认是"JWT",当然也可以更改为其他的令牌类型
该算法是用于 payload 中信息编码
PAYLOAD(数据)
是存放数据的部分,可以存放一些脱敏的信息。
一些基本的信息(当然没有必要在一个jwt中加入这么多的信息)
iss (issuer):签发人
sub (subject):主题
aud (audience):受众
exp (expiration time):过期时间
nbf (Not Before):生效时间,在此之前是无效的
iat (Issued At):签发时间
jti (JWT ID):编号
VERIFY SIGNATURE(验证签名)
用于jwt中信息的更改
JWT的基本格式
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Imx2MTIzIiwiaWF0IjoxNTE2MjM5MDIyfQ.5JPPSkCfB0q3t5Qx6UL3f7pv2KZlgDQGpccdSDE4YHc
由三部分组成,并由 “.” 分割开来。如"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"代表HEADER
"eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Imx2MTIzIiwiaWF0IjoxNTE2MjM5MDIyfQ"代表PAYLOAD
这两串编码其实是HEADER和PAYLOAD的json利用Base64编码生成的,所以不具有保密性。
可以利用Base64的解码工具将数据呈现出来
最后一个VERIFY SIGNATURE部分是利用MD5来进行加密的。这样就可以保证在jwt里的信息基本不会被恶意修改。
相关文章
- OJ算法题已AC
- OJ算法题
- 类、抽象类和接口的区别
- wait与sleep的区别
- Ajax全接触-imooc
- 案例实践 | 某能源企业API安全实践
- Eclipse快捷键
- 常用的IDEA快捷键命令
- 引入分布式Id遇到的坑
- 在spring boot3中使用native image
- 关于Linux中网卡Teamd(分流容灾)的一些笔记
- R语言生态学:进化树推断物种分化历史:分类单元数与时间关系、支系图可视化
- 【视频】文本挖掘:主题模型(LDA)及R语言实现分析游记数据|附代码数据
- R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格|附代码数据
- Premiere Pro 23.1 版本 H.264 和 HEVC 或 H.265 文件导出不成功问题解决
- ICLR 2023 | 大规模文本图训练框架GLEM
- 李飞飞高徒教你从0到1构建GPT
- portraiture2023人像磨皮软件功能特点
- Tuxera NTFS2023Mac驱动读写工具
- 软件下载ae2022 AE 2021安装教程 ae2022 AE苹果下载