diff options
Diffstat (limited to 'packages/server/src/helpers/decodeClientDataJSON.ts')
-rw-r--r-- | packages/server/src/helpers/decodeClientDataJSON.ts | 8 |
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; } |