summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/parseAuthenticatorData.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/server/src/helpers/parseAuthenticatorData.ts')
-rw-r--r--packages/server/src/helpers/parseAuthenticatorData.ts12
1 files changed, 8 insertions, 4 deletions
diff --git a/packages/server/src/helpers/parseAuthenticatorData.ts b/packages/server/src/helpers/parseAuthenticatorData.ts
index e79580b..439070d 100644
--- a/packages/server/src/helpers/parseAuthenticatorData.ts
+++ b/packages/server/src/helpers/parseAuthenticatorData.ts
@@ -53,12 +53,14 @@ export default function parseAuthenticatorData(authData: Buffer): ParsedAuthenti
pointer += firstEncoded.byteLength;
}
- let extensions: AuthenticationExtensionsAuthenticatorOutputs | undefined = undefined;
+ let extensionsData: AuthenticationExtensionsAuthenticatorOutputs | undefined = undefined;
+ let extensionsDataBuffer: Buffer | undefined = undefined;
if (flags.ed) {
const firstDecoded = decodeCborFirst(authData.slice(pointer));
const firstEncoded = Buffer.from(cbor.encode(firstDecoded) as ArrayBuffer);
- extensions = decodeAuthenticatorExtensionData(firstEncoded);
+ extensionsDataBuffer = firstEncoded;
+ extensionsData = decodeAuthenticatorExtensionData(extensionsDataBuffer);
pointer += firstEncoded.byteLength;
}
@@ -76,7 +78,8 @@ export default function parseAuthenticatorData(authData: Buffer): ParsedAuthenti
aaguid,
credentialID,
credentialPublicKey,
- extensions,
+ extensionsData,
+ extensionsDataBuffer
};
}
@@ -97,5 +100,6 @@ export type ParsedAuthenticatorData = {
aaguid?: Buffer;
credentialID?: Buffer;
credentialPublicKey?: Buffer;
- extensions?: AuthenticationExtensionsAuthenticatorOutputs;
+ extensionsData?: AuthenticationExtensionsAuthenticatorOutputs;
+ extensionsDataBuffer?: Buffer;
};