Skip to content

Commit e350182

Browse files
author
Sachin Maheshwari
committed
correcting logic for reload page
1 parent 503fb46 commit e350182

File tree

1 file changed

+81
-67
lines changed

1 file changed

+81
-67
lines changed

web-assets/js/setupAuth0WithRedirect.js

Lines changed: 81 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -414,82 +414,96 @@ const authSetup = function () {
414414
*/
415415
function receiveMessage(e) {
416416
logger("received Event:", e);
417-
const failed = {
418-
type: "FAILURE"
419-
};
420-
const success = {
421-
type: "SUCCESS"
422-
};
423417
if (e.data.type === "REFRESH_TOKEN") {
424418
const token = getCookie(v3JWTCookie);
425-
if (token && !isTokenExpired(token, 65)) {
426-
informIt(success, e);
427-
} else if (auth0) {
428-
auth0.isAuthenticated().then(function (isAuthenticated) {
429-
if (isAuthenticated) {
430-
auth0.getTokenSilently().then(function (token) {
431-
storeRefreshedToken();
432-
informIt(success, e);
419+
const failed = {
420+
type: "FAILURE"
421+
};
422+
const success = {
423+
type: "SUCCESS"
424+
};
425+
426+
const informIt = function (payload) {
427+
e.source.postMessage(payload, e.origin);
428+
}
429+
try {
430+
const storeRefreshedToken = function (aObj) {
431+
aObj.getIdTokenClaims().then(function (claims) {
432+
idToken = claims.__raw;
433+
let userActive = false;
434+
Object.keys(claims).findIndex(function (key) {
435+
if (key.includes('active')) {
436+
userActive = claims[key];
437+
return true;
438+
}
439+
return false;
440+
});
441+
if (userActive) {
442+
let tcsso = '';
443+
Object.keys(claims).findIndex(function (key) {
444+
if (key.includes(tcSSOCookie)) {
445+
tcsso = claims[key];
446+
return true;
447+
}
448+
return false;
449+
});
450+
logger('Storing refreshed token...', true);
451+
setCookie(tcJWTCookie, idToken, cookieExpireIn);
452+
setCookie(v3JWTCookie, idToken, cookieExpireIn);
453+
setCookie(tcSSOCookie, tcsso, cookieExpireIn);
454+
informIt(success);
455+
} else {
456+
logger("Refeshed token - user active ? ", userActive);
457+
informIt(failed);
458+
}
459+
}).catch(function (err) {
460+
logger("Refeshed token - error in fetching token from auth0: ", err);
461+
informIt(failed);
462+
});
463+
};
464+
465+
// main execution start here
466+
if (token && !isTokenExpired(token)) {
467+
informIt(success);
468+
} else {
469+
createAuth0Client({
470+
domain: domain,
471+
client_id: clientId,
472+
cacheLocation: useLocalStorage
473+
? 'localstorage'
474+
: 'memory',
475+
useRefreshTokens: useRefreshTokens
476+
}).then(function (aObj) {
477+
aObj.isAuthenticated().then(function (isAuthenticated) {
478+
if (isAuthenticated) {
479+
aObj.getTokenSilently().then(function (token) {
480+
storeRefreshedToken(aObj);
481+
}).catch(function (err) {
482+
logger("receiveMessage: Error in refreshing token through iframe:", err)
483+
informIt(failed);
484+
});
485+
} else {
486+
logger("authenticated ?", isAuthenticated);
487+
informIt(failed);
488+
}
433489
}).catch(function (err) {
434-
logger("receiveMessage: Error in refreshing token through iframe:", err)
435-
informIt(failed, e);
490+
logger("receiveMessage: Error occured in checkng authentication", err);
491+
informIt(failed);
436492
});
437-
} else {
438-
informIt(failed, e);
439-
}
440-
}).catch(function (err) {
441-
logger("receiveMessage: Error occured in checkng authentication", err);
442-
informIt(failed, e);
443-
});
444-
} else {
445-
informIt(failed, e);
493+
}).catch(function (err) {
494+
logger("receiveMessage: Error occured in initializing auth0", err);
495+
informIt(failed);
496+
});
497+
}
498+
} catch (e) {
499+
logger("error occured in iframe handler:", e.message);
500+
informIt(failed);
446501
}
447502
} else {
448-
informIt(failed, e);
503+
// do nothing
449504
}
450505
}
451506

452-
/**
453-
* post message to iframe
454-
* @param data payload
455-
* @param e event object
456-
*/
457-
function informIt(data, e) {
458-
e.source.postMessage(data, e.origin);
459-
}
460-
461-
function storeRefreshedToken() {
462-
auth0.getIdTokenClaims().then(function (claims) {
463-
idToken = claims.__raw;
464-
let userActive = false;
465-
Object.keys(claims).findIndex(function (key) {
466-
if (key.includes('active')) {
467-
userActive = claims[key];
468-
return true;
469-
}
470-
return false;
471-
});
472-
if (userActive) {
473-
let tcsso = '';
474-
Object.keys(claims).findIndex(function (key) {
475-
if (key.includes(tcSSOCookie)) {
476-
tcsso = claims[key];
477-
return true;
478-
}
479-
return false;
480-
});
481-
logger('Storing refreshed token...', true);
482-
setCookie(tcJWTCookie, idToken, cookieExpireIn);
483-
setCookie(v3JWTCookie, idToken, cookieExpireIn);
484-
setCookie(tcSSOCookie, tcsso, cookieExpireIn);
485-
} else {
486-
logger("Refeshed token - user active ? ", userActive);
487-
}
488-
}).catch(function (e) {
489-
logger("Refeshed token - error in fetching token from auth0: ", e);
490-
});
491-
};
492-
493507
function changeWindowMessage() {
494508

495509
if ((!returnAppUrl && !appUrl) || ((returnAppUrl == 'undefined') && (appUrl == 'undefined'))) {

0 commit comments

Comments
 (0)