46 lines
999 B
JavaScript
46 lines
999 B
JavaScript
const jwt = require('jsonwebtoken');
|
|
|
|
const verifyToken = (req, res, next) => {
|
|
|
|
// if (typeof localStorage === "undefined" || localStorage === null) {
|
|
// var LocalStorage = require('node-localstorage').LocalStorage;
|
|
// localStorage = new LocalStorage('./scratch');
|
|
// }
|
|
// let localToken = localStorage.getItem('token');
|
|
|
|
let localToken = req.get('token');
|
|
|
|
jwt.verify(localToken, process.env.TOKEN_SEED, (err, decoded) => {
|
|
if (err) {
|
|
return res.status(401).json({
|
|
err: {
|
|
message: 'Invalid token.'
|
|
}
|
|
})
|
|
}
|
|
|
|
req.user = decoded.user;
|
|
|
|
next();
|
|
});
|
|
|
|
}
|
|
|
|
const verifyAdmin = (req, res, next) => {
|
|
let isAdmin = !!req.user.isAdmin;
|
|
|
|
if (!isAdmin) {
|
|
return res.status(401).json({
|
|
err: {
|
|
message: 'Is not admin.'
|
|
}
|
|
})
|
|
};
|
|
|
|
next();
|
|
}
|
|
|
|
module.exports = {
|
|
verifyToken,
|
|
verifyAdmin
|
|
}; |