summaryrefslogtreecommitdiffhomepage
path: root/packages/browser/src/helpers
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2020-05-25 23:57:59 -0700
committerGitHub <noreply@github.com>2020-05-25 23:57:59 -0700
commit5793fe2f0214c35038dee0f9bf37e7894805ee07 (patch)
treedb2bd52ac2cb1cd55442bf9b320b4e0e36f4d8f4 /packages/browser/src/helpers
parentd0205b9a4f2b4e304447e8072e4384f52dcc0c51 (diff)
parentddd8889dd0b7249ed24736c0e4e89e0bd041d9c6 (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.ts16
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),
+ };
+}