#verifier #oauth #challenge #verify

pkce

Library for generating PKCE code verifiers and challenges

3 unstable releases

0.2.0 Feb 26, 2023
0.1.1 Jan 14, 2021
0.1.0 Jul 13, 2020

#1476 in Authentication

Download history 10264/week @ 2026-02-17 11035/week @ 2026-02-24 12915/week @ 2026-03-03 10794/week @ 2026-03-10 13460/week @ 2026-03-17 12314/week @ 2026-03-24 11485/week @ 2026-03-31 11190/week @ 2026-04-07 8383/week @ 2026-04-14 2319/week @ 2026-04-21 6070/week @ 2026-04-28 6499/week @ 2026-05-05 5743/week @ 2026-05-12 3679/week @ 2026-05-19 4807/week @ 2026-05-26 4739/week @ 2026-06-02

20,278 downloads per month
Used in 9 crates (8 directly)

MIT/Apache

5KB

This is a minimal library with functions to generate random code verifiers and challenges to be used for OAuth Proof Key for Code Exchange.

extern crate pkce;

fn main() {
    let code_verify = pkce::code_verifier(128);
    let code_challenge = pkce::code_challenge(&code_verify);

    println!("Code challenge generated: {}", code_challenge);
}

pkce-rs

A very simple library for generating code verifiers and challenges to use for OAuth Proof Key for Code Exchange. It is not rocket science.

extern crate pkce;

fn main() {
    // Generate a random 128-byte code verifier (must be between 43 and 128 bytes)
    let code_verify = pkce::code_verifier(128);
    // Generate an encrypted code challenge accordingly
    let code_challenge = pkce::code_challenge(&code_verify);

    println!("Code challenge generated: {}", code_challenge);
}

Wow, it really is that simple.

Features

In order to support WebAssembly enable feature js.

Dependencies

~1.1–1.7MB
~34K SLoC