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" +