-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
44 lines (33 loc) · 735 Bytes
/
index.js
File metadata and controls
44 lines (33 loc) · 735 Bytes
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
var debug = require('debug')('AuthToken');
var cookies = require('cookies-js');
var jwtDecode = require('jwt-decode');
module.exports = exports = function parse(){
var cookie = cookies.get('auth-token');
if (!cookie) {
debug('no token found');
return;
}
try {
// decode jwt
var jwt = jwtDecode(cookie);
} catch (e) {}
if (!jwt) {
debug('could not parse token');
return;
}
if (!jwt.user_id) {
debug('token has no user_id');
return;
}
if (!jwt.expires) {
debug('token has no expirey');
return;
}
jwt.expires_at = new Date(jwt.expires);
if (jwt.expires_at < new Date) {
debug('token already expired');
return;
}
jwt.token = cookie;
return jwt;
};