diff options
Diffstat (limited to 'packages/server/src')
3 files changed, 27 insertions, 1 deletions
diff --git a/packages/server/src/authentication/generateAuthenticationOptions.test.ts b/packages/server/src/authentication/generateAuthenticationOptions.test.ts index f8ed0ca..8d55580 100644 --- a/packages/server/src/authentication/generateAuthenticationOptions.test.ts +++ b/packages/server/src/authentication/generateAuthenticationOptions.test.ts @@ -132,6 +132,17 @@ Deno.test('should generate a challenge if one is not provided', async () => { assert(isoBase64URL.isBase64url(options.challenge)); }); +Deno.test('should treat string challenges as UTF-8 strings', async () => { + const options = await generateAuthenticationOptions({ + challenge: 'こんにちは', + }); + + assertEquals( + options.challenge, + '44GT44KT44Gr44Gh44Gv', + ); +}); + Deno.test('should set rpId if specified', async () => { const rpID = 'simplewebauthn.dev'; diff --git a/packages/server/src/registration/generateRegistrationOptions.test.ts b/packages/server/src/registration/generateRegistrationOptions.test.ts index 3b7f62b..fded674 100644 --- a/packages/server/src/registration/generateRegistrationOptions.test.ts +++ b/packages/server/src/registration/generateRegistrationOptions.test.ts @@ -192,6 +192,21 @@ Deno.test('should generate a challenge if one is not provided', async () => { mockGenerateChallenge.restore(); }); +Deno.test('should treat string challenges as UTF-8 strings', async () => { + const options = await generateRegistrationOptions({ + rpID: 'not.real', + rpName: 'SimpleWebAuthn', + userID: '1234', + userName: 'usernameHere', + challenge: 'こんにちは', + }); + + assertEquals( + options.challenge, + '44GT44KT44Gr44Gh44Gv', + ); +}); + Deno.test('should use custom supported algorithm IDs as-is when provided', async () => { const options = await generateRegistrationOptions({ rpID: 'not.real', diff --git a/packages/server/src/registration/generateRegistrationOptions.ts b/packages/server/src/registration/generateRegistrationOptions.ts index 54bdaa5..c894abb 100644 --- a/packages/server/src/registration/generateRegistrationOptions.ts +++ b/packages/server/src/registration/generateRegistrationOptions.ts @@ -157,7 +157,7 @@ export async function generateRegistrationOptions( */ let _challenge = challenge; if (typeof _challenge === 'string') { - _challenge = isoUint8Array.fromASCIIString(_challenge); + _challenge = isoUint8Array.fromUTF8String(_challenge); } return { |