/** * Convert the given array buffer into a Base64URL-encoded string. Ideal for converting various * credential response ArrayBuffers to string for sending back to the server as JSON. * * Helper method to compliment `base64URLStringToBuffer` */ export function bufferToBase64URLString(buffer: ArrayBuffer): string { const bytes = new Uint8Array(buffer); let str = ''; for (const charCode of bytes) { str += String.fromCharCode(charCode); } const base64String = btoa(str); return base64String.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, ''); }