UNPKG

pkce-js

Version:

Generate PKCE verifier and code_challenge in a simple way.

29 lines (23 loc) 658 B
import { randomString, base64Url, b64Sha256Hash } from './helpers'; function createVerifier(length: number = 128): string { if (length < 43 || length > 128) { throw new Error( `Verifier has to be between 43 and 128 characters. Recieved: ${length}` ); } return randomString(length); } function createChallenge(verifier: string): string { return base64Url(b64Sha256Hash(verifier)); } export function pkce(length: number = 128): { verifier: string; challenge: string; } { const verifier = createVerifier(length); const challenge = createChallenge(verifier); return { verifier: verifier, challenge: challenge, }; }