-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlocalAuth.js
More file actions
61 lines (52 loc) · 1.34 KB
/
localAuth.js
File metadata and controls
61 lines (52 loc) · 1.34 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
52
53
54
55
56
57
58
59
60
61
class localAuth {
static key( identifier ) {
return `oauth/${ identifier.toLowerCase() }`;
}
static saveAll( identifier, info ) {
if ( identifier ) {
const key = localAuth.key( identifier );
// Awful
if ( !info.expires_at ) {
info.expires_at = Date.now() + 50000000;
}
localStorage.setItem( key, JSON.stringify( info ) );
return true;
} else {
return false;
}
}
static getAll( identifier ) {
const key = localAuth.key( identifier );
return JSON.parse( localStorage.getItem( key ) );
}
static get( identifier, item ) {
const all = localAuth.getAll( identifier );
if ( all ) {
return all[ 'item' ];
}
}
// Check/Get access token if there and not expired
static validToken( identifier ) {
const all = localAuth.getAll( identifier );
if ( !all ) {
return false;
}
if ( !all.expires_at || !all.access_token ) {
return false;
}
// If not expired
if ( Number( all.expires_at ) > Date.now() ) {
return all.access_token;
}
return false;
}
static getToken( identifier ) {
const all = localAuth.getAll( identifier );
return all.access_token;
}
static removeAll( identifier ) {
const key = localAuth.key( identifier );
localStorage.removeItem( key );
}
}
export default localAuth;