summaryrefslogtreecommitdiffhomepage
path: root/packages/server/src/helpers/parseAuthenticatorData.ts
diff options
context:
space:
mode:
authorEiji Kitamura <agektmr@google.com>2022-07-22 15:44:32 +0900
committerEiji Kitamura <agektmr@google.com>2022-07-22 15:44:32 +0900
commit8cc0d0c9fe9c0e5c978d2a09eb17c4760481ec3f (patch)
tree93e29d5f8b872aee04a5022891730803bb36e0c0 /packages/server/src/helpers/parseAuthenticatorData.ts
parent53dd14e4dc21b1d97224f6b8b5f36285ed72283a (diff)
Fix for #230
- Change `extensions` to `extensionsData` and add `extensionsDataBuffer`
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;
};