29 lines
722 B
JavaScript
29 lines
722 B
JavaScript
// 校验token是否有效的中间件
|
|
const {
|
|
verifyToken
|
|
} = require("../utils/jwt");
|
|
|
|
function authMiddleware(req,res,next){
|
|
const header = req.headers.authorization;
|
|
if(!header){
|
|
return res.status(401).json({
|
|
message:"没有token"
|
|
});
|
|
}
|
|
|
|
const token = header.split(" ")[1];
|
|
try{
|
|
const user = verifyToken(token);
|
|
// 把 JWT 验证出来的用户信息,挂到当前请求对象 req 上,以后的路由就可以req.user.userId来获取用户信息
|
|
req.user = user;
|
|
// 继续执行
|
|
next();
|
|
}catch(err){
|
|
res.status(401).json({
|
|
message:"token失效"
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
module.exports = authMiddleware; |