diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 4cf84a9efc8e154f4af1b295b12399e2562acb62..1be8826ce13b02b17bd30dfddd717ef996827b1d 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -1353,7 +1353,7 @@ const handleIdentityLogin = async (identity, uuid, token) => { const deviceHash = await createDeviceHash(publicKey); - viamApi.setSessionData(uuid, token, deviceHash, navigator.userAgent); + viamApi.setSessionData(uuid, token, deviceHash); localStorage.setItem("uuid", uuid); localStorage.setItem("token", token); localStorage.setItem("authenticatedIdentity", publicKey); @@ -1416,7 +1416,7 @@ function loadIdentityInternal(identityKey, pinCode) { const uuid = localStorage.getItem("uuid"); const token = localStorage.getItem("token"); const deviceHash = await createDeviceHash(identityKey); - window.viamApi.setSessionData(uuid, token, deviceHash, navigator.userAgent); + window.viamApi.setSessionData(uuid, token, deviceHash); } //console.log("Set loaded identity in load identity") @@ -1718,7 +1718,7 @@ const connection = Penpal.connectToParent({ }); }, login(loginIdentity, mode, code, actionID) { - return new Penpal.Promise(setIdentityResult => { + return new Penpal.Promise(async setIdentityResult => { if (window.loadedIdentities[loginIdentity.authentication.publicKey] === null) { setIdentityResult({"data" : "", "code" : "400", @@ -1726,9 +1726,9 @@ const connection = Penpal.connectToParent({ }) } - //console.log("After loaded check") - - viamApi.setIdentity(loginIdentity.authentication.publicKey); + const deviceHash = await createDeviceHash(loginIdentity.authentication.publicKey); + window.viamApi.setSessionData('', '', deviceHash); + window.viamApi.setIdentity(loginIdentity.authentication.publicKey); executeRestfulFunction("public", viamApi, viamApi.identityLogin, mode, code, actionID).then(async executeResult => { // console.log(executeResult) diff --git a/javascript/src/iframe/wopiapi-iframe.js b/javascript/src/iframe/wopiapi-iframe.js index 7b9ac1bf6ad6b0f6afc3e815ed10681130c0ef06..6fcbaac2c0120feab67a894a811f4ed4066706a6 100644 --- a/javascript/src/iframe/wopiapi-iframe.js +++ b/javascript/src/iframe/wopiapi-iframe.js @@ -11,7 +11,6 @@ WopiAPI.prototype.getPassports = function (fileID) { uuid: window.viamApi.getConfig().headers.uuid, token: window.viamApi.getConfig().headers.token, deviceHash: window.viamApi.getConfig().headers.deviceHash, - userAgent: window.viamApi.getConfig().headers.userAgent, fileID } }; diff --git a/javascript/src/utilities/appUtility.js b/javascript/src/utilities/appUtility.js index 00beb2568a03ec3070308acb63d2aee14e262c42..66cfaf8b37d46c8175b4393675dd008e9ff84b77 100644 --- a/javascript/src/utilities/appUtility.js +++ b/javascript/src/utilities/appUtility.js @@ -4,8 +4,9 @@ export const createDeviceHash = async (publicKey) => { try { const stringToEncode = publicKey + navigator.userAgent; const crypto = getCrypto(); - const buffer = new window.TextEncoder("utf-8").encode(stringToEncode); - return window.btoa(await crypto.digest({ name: "SHA-1" }, buffer)); + const buffer = new window.TextEncoder().encode(stringToEncode); + const hash = await crypto.digest({ name: "SHA-1" }, buffer); + return window.btoa(String.fromCharCode(...new Uint8Array(hash))); } catch (error) { console.warn(error); // eslint-disable-line no-console } diff --git a/main.go b/main.go index 09618e9b28fb5810bf1e1470bbd25ec01cee124e..09206ad80e6d91fa5f1896ff9009a3a17ad4bb7a 100644 --- a/main.go +++ b/main.go @@ -73,18 +73,16 @@ func buildViamAPI() string { " 'publicKey': '',\n" + " 'uuid': '',\n" + " 'deviceHash': '',\n" + - " 'userAgent': '',\n" + " 'token': ''\n" + " }\n" + " }\n" + "}\n\n" - result += "ViamAPI.prototype.setSessionData = function(uuid, token, deviceHash, userAgent) {\n" + + result += "ViamAPI.prototype.setSessionData = function(uuid, token, deviceHash) {\n" + " this.config.headers.uuid = uuid;\n" + " this.config.headers.token = token;\n" + " this.config.headers.deviceHash = deviceHash;\n" + - " this.config.headers.userAgent = userAgent;\n" + "};\n\n" result += "ViamAPI.prototype.setIdentity = function(authenticationPublicKey) {\n" +