diff --git a/libs/common/src/abstractions/fido2/fido2-utils.ts b/libs/common/src/abstractions/fido2/fido2-utils.ts index 0dfae4ab9fd..dd1ab397890 100644 --- a/libs/common/src/abstractions/fido2/fido2-utils.ts +++ b/libs/common/src/abstractions/fido2/fido2-utils.ts @@ -1,9 +1,21 @@ +import { Utils } from "../../misc/utils"; + export class Fido2Utils { - static bufferToString(buffer: BufferSource): string { - return ""; + static bufferToString(bufferSource: BufferSource): string { + const buffer = Fido2Utils.bufferSourceToUint8Array(bufferSource); + + return Utils.fromBufferToUrlB64(buffer); } static stringToBuffer(str: string): Uint8Array { - return new Uint8Array(0); + return Utils.fromUrlB64ToArray(str); + } + + private static bufferSourceToUint8Array(bufferSource: BufferSource) { + if (bufferSource instanceof ArrayBuffer) { + return new Uint8Array(bufferSource); + } else { + return new Uint8Array(bufferSource.buffer); + } } }