40 lines
770 B
JavaScript
40 lines
770 B
JavaScript
const jwt = require('jsonwebtoken');
|
|
|
|
const verifyToken = (req, res, next) => {
|
|
let localToken = req.header('token');
|
|
|
|
jwt.verify(localToken, process.env.TOKEN_SEED, (err, decoded) => {
|
|
if (err) {
|
|
return res.status(409).json({
|
|
err: {
|
|
message: 'Invalid token.',
|
|
token: localToken
|
|
}
|
|
})
|
|
}
|
|
|
|
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
|
|
}; |