zzyxyz_server/routes/utils/auth_utils.js

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
};