summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/decodeAttestationObject.ts
diff options
context:
space:
mode:
authorMatthew Miller <matthew@millerti.me>2020-05-20 08:44:12 -0700
committerMatthew Miller <matthew@millerti.me>2020-05-20 08:44:12 -0700
commit2c51287bec3592ebf7d40d886c41da8fb51cbc21 (patch)
tree603ec65541ea461cbe78c198c34574238eebd10a /packages/server/src/helpers/decodeAttestationObject.ts
parentd9074ec54935aa2155151d2dd9dea0974f33da29 (diff)
Initialize lerna project and move code to `server`
Diffstat (limited to 'packages/server/src/helpers/decodeAttestationObject.ts')
-rw-r--r--packages/server/src/helpers/decodeAttestationObject.ts17
1 files changed, 17 insertions, 0 deletions
diff --git a/packages/server/src/helpers/decodeAttestationObject.ts b/packages/server/src/helpers/decodeAttestationObject.ts
new file mode 100644
index 0000000..224734e
--- /dev/null
+++ b/packages/server/src/helpers/decodeAttestationObject.ts
@@ -0,0 +1,17 @@
+import base64url from 'base64url';
+import cbor from 'cbor';
+
+import { AttestationObject } from '@libTypes';
+
+/**
+ * Convert an AttestationObject from base64 string to a proper object
+ *
+ * @param base64AttestationObject Base64-encoded Attestation Object
+ */
+export default function decodeAttestationObject(
+ base64AttestationObject: string,
+): AttestationObject {
+ const toBuffer = base64url.toBuffer(base64AttestationObject);
+ const toCBOR: AttestationObject = cbor.decodeAllSync(toBuffer)[0];
+ return toCBOR;
+}