@gw2me/client
Version:
gw2.me client library
21 lines (19 loc) • 611 B
JavaScript
import { t as base64urlEncode } from "./base64-B0vm543A.mjs";
//#region src/pkce.ts
async function generatePKCEPair() {
const verifierBuffer = new Uint8Array(32);
crypto.getRandomValues(verifierBuffer);
const code_verifier = base64urlEncode(verifierBuffer);
const encoder = new TextEncoder();
const challenge = await crypto.subtle.digest("SHA-256", encoder.encode(code_verifier));
return {
code_verifier,
challenge: {
code_challenge_method: "S256",
code_challenge: base64urlEncode(new Uint8Array(challenge))
}
};
}
//#endregion
export { generatePKCEPair };
//# sourceMappingURL=pkce.mjs.map