pkce-challenge

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

Usage no npm install needed!

<script type="module">
  import pkceChallenge from 'https://cdn.skypack.dev/pkce-challenge';
</script>

README

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

const pkceChallenge = require("pkce-challenge");

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

const { verifyChallenge } = require("pkce-challenge");

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

Challenge generation from existing code verifier

const { generateChallenge } = require("pkce-challenge");

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