@@ -40,17 +40,24 @@ var ZitiIdentity = {
40
40
app . showScreen ( "IdentityScreen" ) ;
41
41
}
42
42
ZitiIdentity . notified . push ( id . FingerPrint ) ;
43
+ ZitiIdentity . refresh ( ) ;
43
44
}
44
45
} else {
45
46
if ( ( id . MfaMinTimeoutRem - passed ) <= 1200 ) {
46
47
if ( ! ZitiIdentity . timerNotified . includes ( id . FingerPrint ) && ZitiIdentity . notifiable . includes ( id . FingerPrint ) ) {
47
- var message = locale . get ( "MfaWillTimeout" ) . split ( "{{id}}" ) . join ( id . Name ) + moment ( ) . add ( passed , 'seconds' ) . fromNow ( ) ;
48
+ var message = locale . get ( "MfaWillTimeout" ) . split ( "{{id}}" ) . join ( id . Name ) + moment ( ) . add ( id . MfaMinTimeoutRem - passed , 'seconds' ) . fromNow ( ) ;
48
49
var notify = new Notification ( locale . get ( "TimingOut" ) , { appID : locale . get ( "AppTitle" ) , body : message , tag : id . FingerPrint , icon : path . join ( __dirname , '/assets/images/ziti-white.png' ) } ) ;
49
50
notify . onclick = function ( e ) {
50
51
ZitiIdentity . select ( e . target . tag ) ;
51
52
app . showScreen ( "IdentityScreen" ) ;
52
53
}
53
54
ZitiIdentity . timerNotified . push ( id . FingerPrint ) ;
55
+ ZitiIdentity . refresh ( ) ;
56
+ }
57
+ } else {
58
+ if ( ( id . MfaMinTimeoutRem - passed ) <= 0 ) {
59
+ ZitiIdentity . data [ i ] . MfaNeeded = true ;
60
+ ZitiIdentity . refresh ( ) ;
54
61
}
55
62
}
56
63
}
@@ -206,9 +213,10 @@ var ZitiIdentity = {
206
213
if ( item . MfaEnabled ) {
207
214
var passed = moment . utc ( ) . diff ( moment . utc ( item . MfaLastUpdatedTime ) , "seconds" ) ;
208
215
if ( item . MfaMaxTimeoutRem > - 1 ) {
209
- if ( ( item . MfaMaxTimeoutRem - passed ) <= 0 ) {
216
+ if ( ( item . MfaMinTimeoutRem - passed ) <= 0 ) {
210
217
status = "error" ;
211
- if ( iconStatus != "mfa" ) iconStatus = "timed" ;
218
+ iconStatus = "mfa" ;
219
+ ZitiIdentity . data [ i ] . MfaNeeded = true ;
212
220
} else if ( ( item . MfaMinTimeoutRem - passed ) <= 1200 ) {
213
221
status = "warning" ;
214
222
if ( iconStatus != "mfa" && iconStatus != "timed" ) iconStatus = "timing" ;
@@ -230,7 +238,7 @@ var ZitiIdentity = {
230
238
let pc = service . PostureChecks [ p ] ;
231
239
if ( ! pc . IsPassing ) {
232
240
ZitiIdentity . data [ i ] . PostureFailing = true ;
233
- status = "warning" ;
241
+ if ( status == "" ) status = "warning" ;
234
242
break ;
235
243
}
236
244
}
@@ -295,6 +303,34 @@ var ZitiIdentity = {
295
303
if ( ZitiIdentity . data [ i ] . FingerPrint == fingerprint ) {
296
304
ZitiIdentity . data [ i ] . MfaEnabled = true ;
297
305
ZitiIdentity . data [ i ] . MfaNeeded = ! isSuccess ;
306
+ if ( isSuccess ) {
307
+ ZitiIdentity . data [ i ] . MfaMinTimeoutRem = ZitiIdentity . data [ i ] . MfaMinTimeout ;
308
+ ZitiIdentity . data [ i ] . MfaMaxTimeoutRem = ZitiIdentity . data [ i ] . MfaMaxTimeout ;
309
+ for ( let j = 0 ; j < ZitiService . data . length ; j ++ ) {
310
+ if ( ZitiIdentity . data [ i ] . FingerPrint == fingerprint ) {
311
+ if ( ZitiService . data [ j ] . PostureChecks && ZitiService . data [ j ] . PostureChecks . length > 0 ) {
312
+ for ( let k = 0 ; k < ZitiService . data [ j ] . PostureChecks . length ; k ++ ) {
313
+ if ( ZitiService . data [ j ] . PostureChecks [ k ] . Timeout > - 1 ) {
314
+ ZitiService . data [ j ] . PostureChecks [ k ] . TimeoutRemaining = ZitiService . data [ j ] . PostureChecks [ k ] . Timeout ;
315
+ }
316
+ }
317
+ }
318
+ ZitiService . data [ j ] . TimeoutRemaining = ZitiService . data [ j ] . Timeout ;
319
+ }
320
+ }
321
+ if ( ZitiIdentity . data [ i ] . Services && ZitiIdentity . data [ i ] . Services . length > 0 ) {
322
+ for ( let j = 0 ; j < ZitiIdentity . data [ i ] . Services . length ; j ++ ) {
323
+ if ( ZitiIdentity . data [ i ] . Services [ j ] . PostureChecks && ZitiIdentity . data [ i ] . Services [ j ] . PostureChecks . length > 0 ) {
324
+ for ( let k = 0 ; k < ZitiIdentity . data [ i ] . Services [ j ] . PostureChecks . length ; k ++ ) {
325
+ if ( ZitiIdentity . data [ i ] . Services [ j ] . PostureChecks [ k ] . Timeout > - 1 ) {
326
+ ZitiIdentity . data [ i ] . Services [ j ] . PostureChecks [ k ] . TimeoutRemaining = ZitiService . data [ j ] . PostureChecks [ k ] . Timeout ;
327
+ }
328
+ }
329
+ }
330
+ ZitiIdentity . data [ i ] . Services [ j ] . TimeoutRemaining = ZitiIdentity . data [ i ] . Services [ j ] . Timeout ;
331
+ }
332
+ }
333
+ }
298
334
break ;
299
335
}
300
336
}
@@ -332,8 +368,26 @@ var ZitiIdentity = {
332
368
$ ( "#MfaStatus" ) . find ( ".label" ) . html ( locale . get ( "Authorize" ) ) ;
333
369
$ ( "#MfaToggle" ) . addClass ( "disabled" ) ;
334
370
} else {
335
- $ ( "#MfaStatus" ) . find ( ".icon" ) . addClass ( "connected" ) ;
336
- $ ( "#MfaStatus" ) . find ( ".label" ) . html ( locale . get ( "RecoveryCodes" ) ) ;
371
+
372
+
373
+ var passed = moment . utc ( ) . diff ( moment . utc ( item . MfaLastUpdatedTime ) , "seconds" ) ;
374
+ if ( ( item . MfaMinTimeoutRem - passed ) <= 0 ) {
375
+ for ( var i = 0 ; i < ZitiIdentity . data . length ; i ++ ) {
376
+ if ( ZitiIdentity . data [ i ] . FingerPrint == id ) {
377
+ ZitiIdentity . data [ i ] . MfaNeeded = true ;
378
+ break ;
379
+ }
380
+ }
381
+ $ ( "#MfaStatus" ) . find ( ".icon" ) . addClass ( "authorize" ) ;
382
+ $ ( "#MfaStatus" ) . find ( ".label" ) . html ( locale . get ( "Authorize" ) ) ;
383
+ $ ( "#MfaToggle" ) . addClass ( "disabled" ) ;
384
+ } else {
385
+
386
+ $ ( "#MfaStatus" ) . find ( ".icon" ) . addClass ( "connected" ) ;
387
+ $ ( "#MfaStatus" ) . find ( ".label" ) . html ( locale . get ( "RecoveryCodes" ) ) ;
388
+ }
389
+
390
+
337
391
}
338
392
$ ( "#MfaStatus" ) . addClass ( "open" ) ;
339
393
// Calc Time since
0 commit comments