Skip to content

Commit 5ad6c36

Browse files
author
Sachin Maheshwari
committed
refresh token through iframe
1 parent b6e1a93 commit 5ad6c36

File tree

2 files changed

+41
-22
lines changed

2 files changed

+41
-22
lines changed

src/connector-wrapper.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,26 +36,26 @@ const proxyCall = function() {
3636
}
3737

3838
function request() {
39-
/*return new Promise( (resolve, reject) => {
39+
return new Promise((resolve, reject) => {
4040
function receiveMessage(e) {
41-
const safeFormat = e.data.type === SUCCESS || e.data.type === FAILURE
42-
if (safeFormat) {
43-
window.removeEventListener('message', receiveMessage)
44-
if (e.data.type === SUCCESS) resolve(e.data)
45-
if (e.data.type === FAILURE) reject(e.error)
41+
const safeFormat = e.data.type === "SUCCESS" || e.data.type === "FAILURE"
42+
if (safeFormat) {
43+
window.removeEventListener('message', receiveMessage)
44+
if (e.data.type === "SUCCESS") {
45+
const token = getToken('v3jwt')
46+
token ? resolve({ token: token }) : reject("v3jwt cookie not found")
47+
} else {
48+
reject("unable to refesh token")
4649
}
50+
}
4751
}
48-
52+
4953
window.addEventListener('message', receiveMessage)
5054

51-
const payload = Object.assign({}, { type: REQUEST }, params)
55+
const payload = { type: "REFRESH_TOKEN" }
5256

5357
iframe.contentWindow.postMessage(payload, url)
54-
}) */
55-
return new Promise((resolve, reject) => {
56-
const token = getToken('v3jwt')
57-
token ? resolve({ token: token }) : reject("v3jwt cookie not found")
58-
})
58+
})
5959
}
6060

6161
if (loading) {

web-assets/js/setupAuth0WithRedirect.js

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ const authSetup = function () {
9090
} else if (!isLoggedIn() && returnAppUrl) {
9191
login();
9292
} else if (qs['error'] && qs['state']) {
93-
logger("Error in executing callback(): ", qs['error_description']);
94-
showLoginError(qs['error_description'], appUrl);
93+
logger("Error in executing callback(): ", qs['error_description']);
94+
showLoginError(qs['error_description'], appUrl);
9595
} else {
9696
logger("User already logged in", true);
9797
postLogin();
@@ -410,17 +410,36 @@ const authSetup = function () {
410410
}
411411

412412
/**
413-
* will receive message from iframe
414-
*/
413+
* will receive message from iframe
414+
*/
415415
function receiveMessage(e) {
416416
logger("received Event:", e);
417-
if (e.data && e.data.type && e.origin) {
418-
if (e.data.type === IframeLogoutRequestType) {
419-
host = e.origin;
420-
logout();
421-
}
417+
const failed = {
418+
type: "FAILURE"
419+
};
420+
const success = {
421+
type: "SUCCESS"
422+
};
423+
if (e.type === "REFRESH_TOKEN") {
424+
auth0.isAuthenticated().then(function (isAuthenticated) {
425+
auth0.getTokenSilently().then(function (token) {
426+
storeToken();
427+
informIt(success, e);
428+
}).catch(function (err) {
429+
logger("receiveMessage: Error in refreshing through ifram token: ", err)
430+
informIt(failed, e);
431+
});
432+
}).catch(function (err) {
433+
logger("receiveMessage: Error occured in checkng authentication", err);
434+
informIt(failed, e);
435+
});
436+
} else {
437+
informIt(failed, e);
422438
}
439+
}
423440

441+
function informIt(data, e) {
442+
e.source.postMessage(data, e.origin);
424443
}
425444

426445
function changeWindowMessage() {

0 commit comments

Comments
 (0)