本系列是我的常用 koa 中间件使用笔记,防止忘记使用方法而作记录
基本使用
const jwt = require('jsonwebtoken');
const secretKey = '&*^R*G&(FRDwp4eg3' //secret
const expiresIn = 60 * 60 * 24 * 30; //时效 (秒)
//生成jwt
function generateToken(uid) {
const token = jwt.sign({
uid
}, secretKey, {
expiresIn
})
return token
}
//解析jwt
function verifyToken(token) {
return jwt.verify(token, secretKey)
}
//计算剩余时间
function tokenExp(token) {
let verify = verifyToken(token);
let time = parseInt((new Date().getTime()) / 1000);
return `剩余${verify.exp - time}秒`
}
let token = generateToken(1);
console.log(token); //输出token
console.log(verifyToken(token)); //输出token内容
tokenExp(token); //输出token剩余时间
以上封装了三个函数,常用的功能就是这些了。
在实际项目中必须要对jwt.verify进行try catch捕捉错误,因为如果token过期或者无效会直接抛出错误。