You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.1 KiB

const jwt = require('jsonwebtoken');
const UserModel = require('../models/user.model');
module.exports.checkUser = (req, res, next) => {
const token = req.cookies.jwt;
if(token) {
jwt.verify(token, process.env.TOKEN_SECRET, async (err, decodedToken) => {
if (err) {
res.locals.user = null;
res.cookie('jwt', '', { maxAge: 1 });
next();
} else {
let user = await UserModel.findById(decodedToken.id);
res.locals.user = user;
next();
}
})
}else {
res.locals.user = null;
next();
}
}
module.exports.requireAuth = (req, res, next) => {
const token = req.cookies.jwt;
if (token) {
jwt.verify(token, process.env.TOKEN_SECRET, async (err, decodedToken) => {
if (err) {
console.log(err);
res.send(500).json('no token')
} else {
console.log(decodedToken.id);
next();
}
});
} else {
console.log('No token');
}
};