diff --git a/src/pkce.js b/src/pkce.js deleted file mode 100644 index 1da2a02..0000000 --- a/src/pkce.js +++ /dev/null @@ -1,24 +0,0 @@ -// pkce.js -import crypto from "node:crypto"; - -function base64UrlEncode(buf) { - return buf - .toString("base64") - .replace(/\+/g, "-") - .replace(/\//g, "_") - .replace(/=+$/g, ""); -} - -/** - * RFC7636 PKCE (S256) - * @returns {{ verifier: string, challenge: string, challengeMethod: "S256" }} - */ -export function generatePkce() { - // 32 bytes -> ~43 chars base64url, within RFC7636 43..128 range - const verifier = base64UrlEncode(crypto.randomBytes(32)); - const challenge = base64UrlEncode( - crypto.createHash("sha256").update(verifier).digest() - ); - - return { verifier, challenge, challengeMethod: "S256" }; -} \ No newline at end of file