diff --git a/package-lock.json b/package-lock.json index ea30f19a..4926be76 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "@toruslabs/http-helpers": "^5.0.0", "@toruslabs/metadata-helpers": "^5.0.0", "@toruslabs/torus.js": "^11.0.5", + "base64url": "^3.0.1", "bowser": "^2.11.0", "events": "^3.3.0", "jwt-decode": "^3.1.2", @@ -4225,6 +4226,14 @@ } ] }, + "node_modules/base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/basic-ftp": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", diff --git a/package.json b/package.json index 58655297..36fa0416 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@toruslabs/http-helpers": "^5.0.0", "@toruslabs/metadata-helpers": "^5.0.0", "@toruslabs/torus.js": "^11.0.5", + "base64url": "^3.0.1", "bowser": "^2.11.0", "events": "^3.3.0", "jwt-decode": "^3.1.2", diff --git a/src/handlers/AbstractLoginHandler.ts b/src/handlers/AbstractLoginHandler.ts index 4a286210..869d78fc 100644 --- a/src/handlers/AbstractLoginHandler.ts +++ b/src/handlers/AbstractLoginHandler.ts @@ -1,4 +1,5 @@ import { BroadcastChannel } from "@toruslabs/broadcast-channel"; +import base64url from "base64url"; import { LOGIN_TYPE, UX_MODE, UX_MODE_TYPE } from "../utils/enums"; import { broadcastChannelOptions, getTimeout, randomId } from "../utils/helpers"; @@ -26,7 +27,7 @@ abstract class AbstractLoginHandler implements ILoginHandler { get state(): string { return encodeURIComponent( - window.btoa( + base64url.encode( JSON.stringify({ ...(this.customState || {}), instanceId: this.nonce,