diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 4f5ecc63bbd1c578f3f234813c7409fa4a348d86..c6cdcc6ba5360f3789b10ee690978d06812e8f5a 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -985,10 +985,15 @@ const connection = Penpal.connectToParent({ return response; }, contactsCheckAccountRecoveryStatus: async restoreAccessIdentity => { - const authenticationPublicKey = - restoreAccessIdentity.authentication.publicKey; + window.currentlyLoadedIdentity = restoreAccessIdentity; + const { + publicKey, + x509Certificate + } = restoreAccessIdentity.authentication; + window.loadedIdentities[publicKey] = restoreAccessIdentity; + window.viamAnonymousApi.setIdentity(publicKey); viamApi.setSessionData("", ""); - viamApi.setIdentity(authenticationPublicKey); + viamApi.setIdentity(publicKey); const timeout = ms => new Promise(resolve => setTimeout(resolve, ms)); @@ -1000,16 +1005,7 @@ const connection = Penpal.connectToParent({ null ); if (response.data === 1) { - if (!window.loadedIdentities[authenticationPublicKey]) { - console.log("Identity not loaded"); - return { - data: "", - code: "400", - status: "Identity not loaded" - }; - } - - const deviceHash = await createDeviceHash(authenticationPublicKey); + const deviceHash = await createDeviceHash(publicKey); window.viamApi.setDeviceHash(deviceHash); const identityLoginResponse = await executeRestfulFunction( @@ -1024,6 +1020,7 @@ const connection = Penpal.connectToParent({ if (code === "200") { handleIdentityLogin(restoreAccessIdentity, data.Uuid, data.Session); await getProfileData(restoreAccessIdentity); + await setIdentityInLocalStorage(restoreAccessIdentity); } }