From cd44d4bdacb573cda0b5c3ddc85560c39243a69a Mon Sep 17 00:00:00 2001 From: mkkhedawat Date: Fri, 3 Feb 2023 23:21:08 +0530 Subject: [PATCH] update - logging --- src/debugger/debugger.js | 3 +++ src/debugger/output-parser.js | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/debugger/debugger.js b/src/debugger/debugger.js index 3b37fb1..7554a41 100644 --- a/src/debugger/debugger.js +++ b/src/debugger/debugger.js @@ -18,6 +18,7 @@ import { prettifyTransformations, binToHex } from "./transformations.js"; import { parseCredentials, prettifyCredentials, + stringifyBuffers, prettyCredentialsWithHtml, orderCredentialsByType, getUserPresentStatus, @@ -257,6 +258,7 @@ function getCreateOptions() { function handleRegistrationCredentials(credentials) { lastCredentials = deepClone(credentials); lastCredentialsParsed = parseCredentials(credentials); + console.log("navigator.credentials.create:result", stringifyBuffers(lastCredentials)); const prettyCredentials = prettifyCredentials( orderCredentialsByType(credentials) @@ -312,6 +314,7 @@ function handleCBORCredentials(credentials) { function handleAuthenticationCredentials(credentials) { lastCredentials = deepClone(credentials); lastCredentialsParsed = parseCredentials(credentials); + console.log("navigator.credentials.get:result", stringifyBuffers(lastCredentials)); const prettyCredentials = prettifyCredentials( orderCredentialsByType(credentials) diff --git a/src/debugger/output-parser.js b/src/debugger/output-parser.js index 860f974..3d4a2fb 100644 --- a/src/debugger/output-parser.js +++ b/src/debugger/output-parser.js @@ -121,6 +121,21 @@ export function prettifyCredentials(credentials) { return splitCredentialsByType(creds); } +export function stringifyBuffers(data) { + const object = deepClone(data); + Object.keys(object).forEach(key => { + if(object[key] instanceof ArrayBuffer){ + object[key] = btoa(String.fromCharCode(...new Uint8Array(object[key]))); + return; + } + if(typeof (object[key]) === 'object') { + object[key] = stringifyBuffers(object[key]); + return; + } + }); + return object; +} + export function addMarkupToLine(line) { const separator = line.indexOf(":"); const head = line.substring(0, separator); @@ -262,6 +277,6 @@ export function prettyCredentialsWithHtml(prettyCredentials) { export function getUserPresentStatus(credentials) { const parsed = parseAttestationObject(credentials.response.attestationObject); - console.log(parsed.authData.flags); + console.log("attestation.flags:", parsed.authData.flags); return parsed.authData.flags.userPresent; } \ No newline at end of file