diff options
Diffstat (limited to 'packages/browser/src/methods/startAssertion.ts')
-rw-r--r-- | packages/browser/src/methods/startAssertion.ts | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/packages/browser/src/methods/startAssertion.ts b/packages/browser/src/methods/startAssertion.ts index fbc6f59..e02e577 100644 --- a/packages/browser/src/methods/startAssertion.ts +++ b/packages/browser/src/methods/startAssertion.ts @@ -21,16 +21,18 @@ export default async function startAssertion( throw new Error('WebAuthn is not supported in this browser'); } + // We need to avoid passing empty array to avoid blocking retrieval + // of public key + let allowCredentials; + if (requestOptionsJSON.allowCredentials?.length !== 0) { + allowCredentials = requestOptionsJSON.allowCredentials?.map(toPublicKeyCredentialDescriptor); + } + // We need to convert some values to Uint8Arrays before passing the credentials to the navigator const publicKey: PublicKeyCredentialRequestOptions = { ...requestOptionsJSON, challenge: base64URLStringToBuffer(requestOptionsJSON.challenge), - // We need to avoid passing empty array to avoid blocking retrieval - // of public key - allowCredentials: - requestOptionsJSON.allowCredentials?.length === 0 - ? undefined - : requestOptionsJSON.allowCredentials?.map(toPublicKeyCredentialDescriptor), + allowCredentials, }; // Wait for the user to complete assertion |