tokenUtil.js
1.0 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/**
* Created by fzy on 17/8/16.
*/
var jwt = require('jsonwebtoken');
var ObjectId = require('objectid');
function JwtSession() {
}
module.exports = new JwtSession() ;
/**
* 生成token
* @param users
* @param cb
*/
JwtSession.prototype.getSession = (users) =>{
var expiresIn = 60 * 60 * 60 * 60 * 60;
var payload = {};
payload.id = users.id;
payload.name = users.loginName;
payload.code =users.userType;
var options = {
"expiresIn": expiresIn
};
var token = jwt.sign(payload, '3mang', options);
users.token = token;
users.tokenTime = expiresIn;
return users;
};
/**
* 验证token
* @param token
* @param cb
*/
JwtSession.verifySession = function (token,cb) {
jwt.verify(token, 'Efangcpap',function (err ,data) {
console.dir(data);
if (err && err.name === 'TokenExpiredError') {
cb && cb({message: 'token expired'});
} else if (err && err.name === 'JsonWebTokenError') {
cb && cb({message: 'invalid token'});
}else {
cb && cb (null,data);
}
});
};