diff options
author | Matthew Miller <matthew@millerti.me> | 2020-05-25 23:57:59 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-25 23:57:59 -0700 |
commit | 5793fe2f0214c35038dee0f9bf37e7894805ee07 (patch) | |
tree | db2bd52ac2cb1cd55442bf9b320b4e0e36f4d8f4 /packages/browser/src/helpers | |
parent | d0205b9a4f2b4e304447e8072e4384f52dcc0c51 (diff) | |
parent | ddd8889dd0b7249ed24736c0e4e89e0bd041d9c6 (diff) |
Merge pull request #11 from MasterKale/feature/exclude-credentials-attestation
feature/exclude-credentials-attestation
Diffstat (limited to 'packages/browser/src/helpers')
-rw-r--r-- | packages/browser/src/helpers/toPublicKeyCredentialDescriptor.ts | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/packages/browser/src/helpers/toPublicKeyCredentialDescriptor.ts b/packages/browser/src/helpers/toPublicKeyCredentialDescriptor.ts new file mode 100644 index 0000000..ad166a5 --- /dev/null +++ b/packages/browser/src/helpers/toPublicKeyCredentialDescriptor.ts @@ -0,0 +1,16 @@ +import base64js from 'base64-js'; +import type { PublicKeyCredentialDescriptorJSON } from '@webauthntine/typescript-types'; + +export default function toPublicKeyCredentialDescriptor( + descriptor: PublicKeyCredentialDescriptorJSON, +): PublicKeyCredentialDescriptor { + // Make sure the Base64'd credential ID length is a multiple of 4 or else toByteArray will throw + const { id } = descriptor; + const padLength = 4 - (id.length % 4); + const paddedId = id.padEnd(id.length + padLength, '='); + + return { + ...descriptor, + id: base64js.toByteArray(paddedId), + }; +} |