根据上篇文章加入token值验证
npm install jsonwebtoken --save-dev
使用jsonwebtoken
const jwt = require('jsonwebtoken');
let token = jwt.sign({ username, password }, 'guoyuhua', {
expiresIn: 60 * 60 * 24// 授权时效24小时
})
主路由index.js添加路由判断
const express = require('express');
const app = new express();
const bodyParser = require('body-parser');
const user = require('./routers/user');//引入子路由
var jwt = require('jsonwebtoken');//引入token模块
// 全局路由配置模块
app.use((req,res,next)=>{
if(req.url!=="user/login" && req.url !=="user/register"){
// 获取token值
const token = req.headers.token;
if(token){
jwt.verify(token,'guoyuhua',(err,result)=>{
if(err){
res.send({
retCode:-1,
retMsg:"没有获取到token值,请登录"
})
}else{
next();
}
})
}else{
res.send({
retCode:-1,
retMsg:"没有获取到token值,请登录"
})
}
}else{
next();
}
})
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use('/user', user);//加载user路由 login register
const port = 3000;
app.listen(port, () => {
console.log(`服务器启动在${port}端口......`);
})