【前端】NodeJS:记账本案例优化(token)

1 checkTokenMiddleware.js验证token中间件

//导入 jwt
const jwt = require('jsonwebtoken');
//读取配置项
const {secret} = require('../config/config');
//声明中间件
module.exports = (req, res, next) => {
  	//获取 token
  	let token = req.get('token');
  	//判断
  	if (!token) {
	    return res.json({
	    	code: '2003',
	      	msg: 'token 缺失',
	      	data: null
	    })
  	}
  //校验 token
  jwt.verify(token, secret, (err, data) => {
  		//检测 token 是否正确
    	if (err) {
	      	return res.json({
		        code: '2004',
		        msg: 'token 校验失败~~',
		        data: null
			})
    	}
    	//保存用户的信息
    	req.user = data; // req.session  req.body
    	//如果 token 校验成功
    	next();
  	});
}

2 auth.js登录时创建当前用户的token

//导入 jwt
const jwt = require('jsonwebtoken');
//导入配置文件
const {secret} = require('../../config/config')

//创建当前用户的 token
let token = jwt.sign({
	username: data.username,
    _id: data._id
}, secret, {
	expiresIn: 60 * 60 * 24 * 7
});
    
//响应 token
res.json({
	code: '0000',
	msg: '登录成功',
	data: token
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值