diff options
author | Matthew Miller <matthew@millerti.me> | 2021-02-02 16:45:36 -0800 |
---|---|---|
committer | Matthew Miller <matthew@millerti.me> | 2021-02-02 16:45:36 -0800 |
commit | 273566181e0b534e8c722120cca2ba56f7843973 (patch) | |
tree | f328aa968fb9e4e468f6091366fa119e4663a042 /packages/server/src | |
parent | 25dec97c0f7c395cf41616973e973bd08508af85 (diff) |
Update options generators to map cred Buffers
Diffstat (limited to 'packages/server/src')
-rw-r--r-- | packages/server/src/assertion/generateAssertionOptions.ts | 9 | ||||
-rw-r--r-- | packages/server/src/attestation/generateAttestationOptions.ts | 9 |
2 files changed, 12 insertions, 6 deletions
diff --git a/packages/server/src/assertion/generateAssertionOptions.ts b/packages/server/src/assertion/generateAssertionOptions.ts index 370dbc8..19bce91 100644 --- a/packages/server/src/assertion/generateAssertionOptions.ts +++ b/packages/server/src/assertion/generateAssertionOptions.ts @@ -1,7 +1,7 @@ import type { AuthenticationExtensionsClientInputs, PublicKeyCredentialRequestOptionsJSON, - PublicKeyCredentialDescriptorJSON, + PublicKeyCredentialDescriptor, UserVerificationRequirement, } from '@simplewebauthn/typescript-types'; import base64url from 'base64url'; @@ -9,7 +9,7 @@ import base64url from 'base64url'; import generateChallenge from '../helpers/generateChallenge'; type Options = { - allowCredentials?: PublicKeyCredentialDescriptorJSON[]; + allowCredentials?: PublicKeyCredentialDescriptor[]; challenge?: string | Buffer; timeout?: number; userVerification?: UserVerificationRequirement; @@ -44,7 +44,10 @@ export default function generateAssertionOptions( return { challenge: base64url.encode(challenge), - allowCredentials, + allowCredentials: allowCredentials?.map(cred => ({ + ...cred, + id: base64url.encode(cred.id as Buffer), + })), timeout, userVerification, extensions, diff --git a/packages/server/src/attestation/generateAttestationOptions.ts b/packages/server/src/attestation/generateAttestationOptions.ts index 0cc4a27..7d888d1 100644 --- a/packages/server/src/attestation/generateAttestationOptions.ts +++ b/packages/server/src/attestation/generateAttestationOptions.ts @@ -4,7 +4,7 @@ import type { AuthenticatorSelectionCriteria, COSEAlgorithmIdentifier, PublicKeyCredentialCreationOptionsJSON, - PublicKeyCredentialDescriptorJSON, + PublicKeyCredentialDescriptor, PublicKeyCredentialParameters, } from '@simplewebauthn/typescript-types'; import base64url from 'base64url'; @@ -20,7 +20,7 @@ type Options = { userDisplayName?: string; timeout?: number; attestationType?: AttestationConveyancePreference; - excludeCredentials?: PublicKeyCredentialDescriptorJSON[]; + excludeCredentials?: PublicKeyCredentialDescriptor[]; authenticatorSelection?: AuthenticatorSelectionCriteria; extensions?: AuthenticationExtensionsClientInputs; supportedAlgorithmIDs?: COSEAlgorithmIdentifier[]; @@ -146,7 +146,10 @@ export default function generateAttestationOptions( pubKeyCredParams, timeout, attestation: attestationType, - excludeCredentials, + excludeCredentials: excludeCredentials.map(cred => ({ + ...cred, + id: base64url.encode(cred.id as Buffer), + })), authenticatorSelection, extensions, }; |