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.ts8
1 files changed, 7 insertions, 1 deletions
diff --git a/packages/server/src/helpers/decodeClientDataJSON.ts b/packages/server/src/helpers/decodeClientDataJSON.ts
index 1aeb9c9..0ff5dea 100644
--- a/packages/server/src/helpers/decodeClientDataJSON.ts
+++ b/packages/server/src/helpers/decodeClientDataJSON.ts
@@ -7,5 +7,11 @@ import asciiToBinary from './asciiToBinary';
*/
export default function decodeClientDataJSON(data: string): ClientDataJSON {
const toString = asciiToBinary(data);
- return JSON.parse(toString);
+ 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');
+
+ return clientData;
}