@@ -14,6 +14,10 @@ var cookieStorage = {
14
14
}
15
15
} ;
16
16
17
+ function emitExpired ( tokenMgmtRef , key , token ) {
18
+ tokenMgmtRef . emitter . emit ( 'expired' , key , token ) ;
19
+ }
20
+
17
21
function clearRefreshTimeout ( tokenMgmtRef , key ) {
18
22
clearTimeout ( tokenMgmtRef . refreshTimeouts [ key ] ) ;
19
23
delete tokenMgmtRef . refreshTimeouts [ key ] ;
@@ -37,7 +41,12 @@ function setRefreshTimeout(sdk, tokenMgmtRef, storage, key, token) {
37
41
refreshWait = 0 ;
38
42
}
39
43
var refreshTimeout = setTimeout ( function ( ) {
40
- return refresh ( sdk , tokenMgmtRef , storage , key ) ;
44
+ if ( tokenMgmtRef . autoRefresh ) {
45
+ return refresh ( sdk , tokenMgmtRef , storage , key ) ;
46
+ } else if ( token . expiresAt * 1000 < Date . now ( ) ) {
47
+ remove ( tokenMgmtRef , storage , key ) ;
48
+ emitExpired ( tokenMgmtRef , key , token ) ;
49
+ }
41
50
} , refreshWait ) ;
42
51
43
52
// Clear any existing timeout
@@ -62,11 +71,7 @@ function setRefreshTimeoutAll(sdk, tokenMgmtRef, storage) {
62
71
continue ;
63
72
}
64
73
var token = tokenStorage [ key ] ;
65
- if ( tokenMgmtRef . autoRefresh ) {
66
- setRefreshTimeout ( sdk , tokenMgmtRef , storage , key , token ) ;
67
- } else if ( token . expiresAt * 1000 < Date . now ( ) ) {
68
- tokenMgmtRef . emitter . emit ( 'expired' , key , token ) ;
69
- }
74
+ setRefreshTimeout ( sdk , tokenMgmtRef , storage , key , token ) ;
70
75
}
71
76
}
72
77
@@ -80,9 +85,7 @@ function add(sdk, tokenMgmtRef, storage, key, token) {
80
85
}
81
86
tokenStorage [ key ] = token ;
82
87
storage . setTokenStorage ( tokenStorage ) ;
83
- if ( tokenMgmtRef . autoRefresh ) {
84
- setRefreshTimeout ( sdk , tokenMgmtRef , storage , key , token ) ;
85
- }
88
+ setRefreshTimeout ( sdk , tokenMgmtRef , storage , key , token ) ;
86
89
}
87
90
88
91
function get ( storage , key ) {
@@ -137,8 +140,8 @@ function refresh(sdk, tokenMgmtRef, storage, key) {
137
140
} )
138
141
. fail ( function ( err ) {
139
142
if ( err . name === 'OAuthError' ) {
140
- tokenMgmtRef . emitter . emit ( 'expired' , key , token ) ;
141
143
remove ( tokenMgmtRef , storage , key ) ;
144
+ emitExpired ( tokenMgmtRef , key , token ) ;
142
145
}
143
146
refreshDeferred . reject ( err ) ;
144
147
} )
@@ -169,7 +172,9 @@ function clear(tokenMgmtRef, storage) {
169
172
function TokenManager ( sdk , options ) {
170
173
options = options || { } ;
171
174
options . storage = options . storage || 'localStorage' ;
172
- options . autoRefresh = options . autoRefresh || true ;
175
+ if ( ! options . autoRefresh && options . autoRefresh !== false ) {
176
+ options . autoRefresh = true ;
177
+ }
173
178
174
179
var storage ;
175
180
switch ( options . storage ) {
0 commit comments