saschanaz / pkce-challenge

Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pkce-challenge

Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair.

Read more about PKCE.

Installation

npm install pkce-challenge

Usage

Default length for the verifier is 43

import pkceChallenge from 'pkce-challenge'
// or require with commonjs
const pkceChallenge = require("pkce-challenge").default;

pkceChallenge();

gives something like:

{
    code_verifier: 'u1ta-MQ0e7TcpHjgz33M2DcBnOQu~aMGxuiZt0QMD1C',
    code_challenge: 'CUZX5qE8Wvye6kS_SasIsa8MMxacJftmWdsIA_iKp3I'
}

Specify a verifier length

const challenge = pkceChallenge(128);

challenge.code_verifier.length === 128; // true

Challenge verification

import { verifyChallenge } from "pkce-challenge";

verifyChallenge(challenge.code_verifier, challenge.code_challenge) === true; // true

Challenge generation from existing code verifier

import { generateChallenge } from "pkce-challenge";

generateChallenge(challenge.code_verifier) === challenge.code_challenge; // true

About

Generate or verify a Proof Key for Code Exchange (PKCE) challenge pair

License:MIT License


Languages

Language:TypeScript 61.6%Language:JavaScript 38.4%