Token的验证流程以及用法

一、身份验证流程

1、用户向服务器发送用户名和密码。

2、服务端收到请求,去验证用户名与密码

3、验证成功后,服务端会签发一个 Token,将这个 Token 发送给客户端。

4、客户端收到 Token 以后可以把它存储起来,放在 Cookie 里或者 Local Storage 里

5、用户随后的每一次请求,都会通过 Cookie,将 token 传回服务器。

6、服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据

二、验证的用法

1、下载安装(如果已经安装则不需要此操作)
cnpm install jsonwebtoken
2、引入jwt(jsonwebtoken)
const jwt = require("jsonwebtoken") ;
3、验证成功后生成一个token值
let token = jwt.sign({username},'signature',{expiresIn:'1h'}) ;
//sign后面的三个参数分别是需要存储的信息,签名(最好用sha256加密后再用),过期时间
4、发送至客户端
res.cookie("token",token) ;
//"token"(这里不要用token,一般情况下需要先进性加密处理)为name值;token为value值
5、验证token
const islogin = (req,res) => {
    let{token} = req.body ;
    //解构赋值,获取请求的信息
	 jwt.verify(token,'signature',function(err,decoded){
	 //verify特定的验证方法(三个参数:请求的token,验证token是否是当前的token,函数体返回信息)
	        if(!err){
	        //如果token不存在进入
	            res.json({
	               ... ...
	                }
	            })
	        }else{
	        //否则,token存在进入
	            res.json({
	                ... ...
	                }
	            })
	        }
	 })
}
6、最后将返回值导出
module.exports = {
    islogin
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值