From 9724c656cb65ac7ceb9853f02c546bb118099140 Mon Sep 17 00:00:00 2001 From: igorwork <markin.io210@gmail.com> Date: Thu, 2 May 2019 11:52:55 +0300 Subject: [PATCH] Rework logout to destroy authentication before request. --- javascript/src/iframe/viamapi-iframe.js | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index dcb57ed..44fbe67 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -27,9 +27,6 @@ const ViamAPI = require('../../temp/viamapi'); var identityColors = ["#994392", "#cb0767", "#e51d31", "#ec671b", "#fab610"]; -/** This flag blocks execution of getNewEvents while we logging out **/ -let logoutInProgress = false; - function getNextColor() { var colorIndex = localStorage.getItem("colorIndex"); if (colorIndex == null || colorIndex === "") { @@ -723,17 +720,20 @@ const connection = Penpal.connectToParent({ }; } - logoutInProgress = true; + // Clone headers to be able destroy authentication first + const headers = {...window.viamApi.getConfig().headers}; + + destroyAuthentication(); const identityLogoutResponse = await executeRestfulFunction( "private", window.viamApi, window.viamApi.identityLogout, - null + { + headers + } ); - destroyAuthentication(); - return identityLogoutResponse; } catch (e) { return { @@ -741,8 +741,6 @@ const connection = Penpal.connectToParent({ code: "400", status: e.message }; - } finally { - logoutInProgress = false; } }, identityRestoreAccess(restoreAccessIdentity, identificator) { @@ -1425,10 +1423,6 @@ connection.promise.then(parent => { } setInterval(() => { - if (logoutInProgress) { - return; - } - if (window.currentlyLoadedIdentity && !anynomousDeviceKeyEventsProcessing && !window.currentlyAuthenticatedIdentity) { getNewEventsWithoutSession(); } -- GitLab