summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/decodeClientDataJSON.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src/helpers/decodeClientDataJSON.ts')
-rw-r--r--packages/server/src/helpers/decodeClientDataJSON.ts12
1 files changed, 6 insertions, 6 deletions
diff --git a/packages/server/src/helpers/decodeClientDataJSON.ts b/packages/server/src/helpers/decodeClientDataJSON.ts
index c0ebb2b..52bbf4c 100644
--- a/packages/server/src/helpers/decodeClientDataJSON.ts
+++ b/packages/server/src/helpers/decodeClientDataJSON.ts
@@ -1,15 +1,15 @@
-import asciiToBinary from './asciiToBinary';
+import base64url from 'base64url';
/**
- * Decode an authenticator's base64-encoded clientDataJSON to JSON
+ * Decode an authenticator's base64url-encoded clientDataJSON to JSON
*/
export default function decodeClientDataJSON(data: string): ClientDataJSON {
- const toString = asciiToBinary(data);
+ const toString = base64url.decode(data);
const clientData: ClientDataJSON = JSON.parse(toString);
- // `challenge` will be Base64-encoded here. Decode it for easier comparisons with what is provided
- // as the expected value
- clientData.challenge = Buffer.from(clientData.challenge, 'base64').toString('ascii');
+ // `challenge` will be Base64URL-encoded here. Decode it for easier comparisons with what is
+ // provided as the expected value
+ clientData.challenge = base64url.decode(clientData.challenge);
return clientData;
}