diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js
index 91c0fd22bec45bbfedeccc7e8e7fb62a08b788a2..299e9125941432c28efe384384bd45d979f9d659 100644
--- a/javascript/src/iframe/viamapi-iframe.js
+++ b/javascript/src/iframe/viamapi-iframe.js
@@ -520,18 +520,15 @@ const connection = Penpal.connectToParent({
         }
       });
     },
-    clearIdentities() {
-      return new Penpal.Promise(result => {
-        var identitiesTemp = listIdentitiesFromLocalStorage();
+    clearIdentities: async () => {
+      destroyAuthentication();
 
-        for(var i in identitiesTemp) {
-          destroyIdentityFromLocalStorage(i)
-        }
-        result({"data" : "",
-          "code" : "200",
-          "status" : "Identities cleared"
-        })
-      });
+      const identitiesTemp = listIdentitiesFromLocalStorage();
+
+      for (const i in identitiesTemp) {
+        destroyIdentityFromLocalStorage(i);
+      }
+      return encodeResponse("200", "", "Identities cleared");
     },
     confirmIdentificator(identity, confirmationCodeArg) {
       return new Penpal.Promise(result => {
@@ -612,6 +609,7 @@ const connection = Penpal.connectToParent({
       }
 
       const deviceHash = await createDeviceHash(loginIdentity.authentication.publicKey);
+      window.viamApi.setSessionData("", "");
       window.viamApi.setDeviceHash(deviceHash);
       window.viamApi.setIdentity(loginIdentity.authentication.publicKey);
 
@@ -751,6 +749,7 @@ const connection = Penpal.connectToParent({
     },
     identityRestoreAccess(restoreAccessIdentity, identificator) {
       return new Penpal.Promise(result => {
+        viamApi.setSessionData("", "");
         viamApi.setIdentity(restoreAccessIdentity.authentication.publicKey);
 
         executeRestfulFunction("public", viamApi, viamApi.identityRestoreAccess, null, identificator).then(executeResult => {