16 lines
569 B
JavaScript
16 lines
569 B
JavaScript
/**
|
|
* 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) {
|
|
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, '');
|
|
}
|