summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/authentication/generateAuthenticationOptions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src/authentication/generateAuthenticationOptions.ts')
-rw-r--r--packages/server/src/authentication/generateAuthenticationOptions.ts9
1 files changed, 9 insertions, 0 deletions
diff --git a/packages/server/src/authentication/generateAuthenticationOptions.ts b/packages/server/src/authentication/generateAuthenticationOptions.ts
index 1eab513..4c841d9 100644
--- a/packages/server/src/authentication/generateAuthenticationOptions.ts
+++ b/packages/server/src/authentication/generateAuthenticationOptions.ts
@@ -5,6 +5,7 @@ import type {
UserVerificationRequirement,
} from '@simplewebauthn/typescript-types';
import base64url from '../helpers/base64url'
+import uint8Array from '../helpers/uint8Array';
import { generateChallenge } from '../helpers/generateChallenge';
@@ -42,6 +43,14 @@ export function generateAuthenticationOptions(
rpID,
} = options;
+ /**
+ * Preserve ability to specify `string` values for challenges
+ */
+ let _challenge = challenge;
+ if (typeof _challenge === 'string') {
+ _challenge = uint8Array.fromString(_challenge);
+ }
+
return {
challenge: base64url.fromBuffer(_challenge),
allowCredentials: allowCredentials?.map(cred => ({