pkce-challenge
Version:
Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair
26 lines (25 loc) • 1.3 kB
text/typescript
/** PKCE challenge method types */
export type PKCEChallengeMethod = "S256" | "plain";
/** Generate a PKCE code challenge from a code verifier
* @param code_verifier base64url encoded code verifier
* @param method The challenge method to use (defaults to "S256")
* @returns The base64 url encoded code challenge (or plain verifier if method is "plain")
*/
export declare function generateChallenge(code_verifier: string, method?: PKCEChallengeMethod): Promise<string>;
/** Generate a PKCE challenge pair
* @param length Length of the verifer (between 43-128). Defaults to 43.
* @param method The challenge method to use. Defaults to "S256".
* @returns PKCE challenge pair
*/
export default function pkceChallenge(length?: number, method?: PKCEChallengeMethod): Promise<{
code_verifier: string;
code_challenge: string;
code_challenge_method: PKCEChallengeMethod;
}>;
/** Verify that a code_verifier produces the expected code challenge
* @param code_verifier
* @param expectedChallenge The code challenge to verify
* @param method The challenge method used (defaults to "S256")
* @returns True if challenges are equal. False otherwise.
*/
export declare function verifyChallenge(code_verifier: string, expectedChallenge: string, method?: PKCEChallengeMethod): Promise<boolean>;