From 646b4e556d25d1f15d35b39148ade695cc628091 Mon Sep 17 00:00:00 2001 From: Alexey Lunin <alexey.lunin@vereign.com> Date: Tue, 7 May 2019 10:10:10 +0400 Subject: [PATCH] Check localStorage auth --- javascript/src/iframe/viamapi-iframe.js | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 63ad5c2..c66eb9c 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -1215,6 +1215,10 @@ connection.promise.then(parent => { let identityLoadedEvent = false; let identityAuthenticatedEvent = false; + let previousLocalStorageUUID; + let previousLocalStorageToken; + let previousLocalStorageIdentity; + setInterval(async function () { if (window.currentlyAuthenticatedIdentity) { const { authentication } = window.currentlyAuthenticatedIdentity; @@ -1270,6 +1274,28 @@ connection.promise.then(parent => { window.lastTimeGetProfile = now; } } + + const currentLocalStorageUUID = localStorage.getItem("uuid"); + const currentLocalStorageToken = localStorage.getItem("token"); + const currentLocalStorageIdentity = localStorage.getItem("authenticatedIdentity"); + if ( + !currentLocalStorageUUID && previousLocalStorageUUID || + !currentLocalStorageToken && previousLocalStorageToken || + !currentLocalStorageIdentity && previousLocalStorageIdentity + ) { + previousLocalStorageUUID = null; + previousLocalStorageToken = null; + previousLocalStorageIdentity = null; + + destroyAuthentication(); + + const event = createEvent("", "LogoutExternal"); + parent.onEvent(event); + } else { + previousLocalStorageUUID = currentLocalStorageUUID; + previousLocalStorageToken = currentLocalStorageToken; + previousLocalStorageIdentity = currentLocalStorageIdentity; + } }, 50); setInterval(async () => { -- GitLab