let jwt = require('jwt-simple');
let secret = "laney";
let time = 10;
let tokenExpiresTime = 1000 * 60 * 60 * 24 * 7;
module.exports = {
validate: function (req, res, next) {
let token = req.headers.token;
if (token) {
let decodeToken = null;
try {
decodeToken = jwt.decode(token, secret);
} catch (err) {
res.status(401).send("非法访问");
return;
}
let exp = decodeToken.exp;
if (!exp) {
res.status(401).send("非法访问");
}
if (exp < (Date.now() + time * 60 * 1000)) {
res.send({
code: '002',
"errorMsg": "授权超时"
})
}
next();
} else {
res.status(401).send("非法访问");
}
},
makeToken(username) {
let Token = null;
let payload = {
user: username,
time: new Date().getTime(),
exp: Date.now() + tokenExpiresTime
};
Token = jwt.encode(payload, secret);
return Token;
}
}