这是我参与「第五届青训营 」笔记创作活动的第43天
碎碎念
大项目提交啦,在此先感谢我的各位队友,大家都没有放弃,其次感谢自己一直坚持。青训营中学习到了很多,接近尾声啦,学习不能停下,继续加油~
Day 32 内容安排
中间件学习
- 概述
- jwt中间件(大项目实际应用)
随记
- 中间件随记心得吧:
1.中间件是一个函数,嵌入在HTTP的请求和响应之间。它可以获得申请对象用来进行一些特殊的操作,比如记录每个请求或者统计请求数。
2.中间件级别:Root Level (Before router)、Root Level (After router)(用到的jwt中间件在这个类组)、Group Level(当在路由中创建一个组的时候,可以为这个组注册一个中间件)、Route Level(当你创建了一个新的路由,可以选择性的给这个路由注册一个中间件)
3.基于JWT实现认证中间件: 用户通过登录可以生成一个JWT,在用户获取Token之后,后续就会携带着Token再来请求我们的其他接口,这个时候就需要对这些请求的Token进行校验操作了,jwt中间件也可以通过指令从Token获取获取用户名。
4.上述token的意思是“令牌”,是⽤户身份的验证⽅式,最简单的token组成: uid(⽤户唯⼀标识) + time(当前时间戳) + sign(签名,由token的前⼏位+盐以哈希算法压缩成⼀定⻓度的⼗六进制字符串) ,同时还可以将不变的参数也放进token。
(参考文档zhuanlan.zhihu.com/p/361420808)
5.jwt token 的组成部分:1.header: ⽤来指定使⽤的算法(HMAC SHA256 RSA)和token类型(如JWT);2.payload: 包含声明(要求),声明通常是⽤户信息或其他数据的声明,⽐如⽤户id,名称,邮箱等. 声明。可分为三种:registered,public,private;3.signature: ⽤来保证JWT的真实性,可以使⽤不同的算法
总结
- 大项目终于结束啦
- 还好有在坚持