mirror of
https://github.com/bckelley/spotify-player.git
synced 2026-08-24 11:34:12 -05:00
14 lines
601 B
JavaScript
14 lines
601 B
JavaScript
// PKCE utilities
|
|
function generateCodeVerifier(length = 64) {
|
|
const array = new Uint8Array(length);
|
|
window.crypto.getRandomValues(array);
|
|
return btoa(String.fromCharCode(...array)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
}
|
|
|
|
async function generateCodeChallenge(codeVerifier) {
|
|
const encoder = new TextEncoder();
|
|
const data = encoder.encode(codeVerifier);
|
|
const digest = await window.crypto.subtle.digest('SHA-256', data);
|
|
return btoa(String.fromCharCode(...new Uint8Array(digest)))
|
|
.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
} |