#jwt #signature

basic-jwt

Basic JWT signing and verification library

4 releases (breaking)

Uses new Rust 2024

0.4.0 Nov 3, 2025
0.3.0 Mar 28, 2025
0.2.0 Apr 20, 2024
0.1.0 Apr 20, 2024

#1242 in Cryptography

Download history 77/week @ 2025-08-30 71/week @ 2025-09-06 68/week @ 2025-09-13 34/week @ 2025-09-20 54/week @ 2025-09-27 62/week @ 2025-10-04 65/week @ 2025-10-11 79/week @ 2025-10-18 65/week @ 2025-10-25 55/week @ 2025-11-01 40/week @ 2025-11-08 33/week @ 2025-11-15 31/week @ 2025-11-22 36/week @ 2025-11-29 22/week @ 2025-12-06

94 downloads per month

MIT license

9KB
144 lines

Basic JWT

This crate provide basic functions to:

  • Sign JWT
  • Parse and validate JWT

Basic usage:

let claims = ...; // note : claims must be serializable

// Generate a key pair. Private and public key are both serializable
let priv_key = JWTPrivateKey::generate_ec384_signing_key().unwrap();
let pub_key = priv_key.to_public_key().unwrap();

// Create a JWT for the given claims (note: standard claims: sub, iss, ...) are not
// automatically added if they are missing
let jwt = priv_key.sign_jwt(&claims).expect("Failed to sign JWT!");

// Validate signed JWT
let claims_out = pub_key
            .validate_jwt::<Claims>(&jwt)
            .expect("Failed to validate JWT!");

Dependencies

~11MB
~219K SLoC