Incorporated pkce into auth.

This commit is contained in:
2026-01-27 08:07:54 +01:00
parent f0a16144bd
commit 31fde09dcc

View File

@@ -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" };
}