40 lines
974 B
JavaScript
40 lines
974 B
JavaScript
const utils = require('../../utils.js');
|
|
const jwt = require('jsonwebtoken');
|
|
|
|
const generateToken = (payload, options) => {
|
|
return jwt.sign(payload, utils.env.JWT_SECRET || 'YZ2Cgx82t4wEBJ7w8ibLNwYoQSoXuxLG', {
|
|
expiresIn: 60,
|
|
...options
|
|
});
|
|
};
|
|
|
|
const verifyToken = (token, callback) => {
|
|
return jwt.verify(token, utils.env.JWT_SECRET || 'YZ2Cgx82t4wEBJ7w8ibLNwYoQSoXuxLG', callback);
|
|
};
|
|
|
|
function checkToken(req, res, next) {
|
|
const token = req.get('token');
|
|
if (!token) {
|
|
return res.json({
|
|
code: '0001',
|
|
message: 'token is required',
|
|
data: null
|
|
});
|
|
}
|
|
verifyToken(token, (err, data) => {
|
|
if (err) {
|
|
return res.json({
|
|
code: '0002',
|
|
message: 'token is invalid',
|
|
data: null
|
|
});
|
|
}
|
|
req.tokenData = data;
|
|
next();
|
|
})
|
|
}
|
|
|
|
module.exports = {
|
|
generateToken,
|
|
verifyToken
|
|
}; |