[package]
name = "jwtiny"
version = "0.2.0"
edition = "2021"
authors = ["Sebastian Müller <c@sbstjn.com>"]
description = "Minimal, type-safe JWT validation library"
license = "MIT"
repository = "https://github.com/sbstjn/jwtiny"
[features]
default = []
rsa = ["dep:ring"]
ecdsa = ["dep:ring"]
aws-lc-rs = ["dep:aws-lc-rs"]
all-algorithms = ["rsa", "ecdsa"]
remote = []
remote-rustls = ["remote", "dep:rustls", "dep:webpki-roots", "dep:rustls-pki-types"]
[dependencies]
miniserde = "0.1"
hmac = "0.12"
sha2 = "0.10"
constant_time_eq = "0.4.2"
ring = { version = "0.17", optional = true }
aws-lc-rs = { version = "1", optional = true }
rustls = { version = "0.23", optional = true }
webpki-roots = { version = "0.26", optional = true }
rustls-pki-types = { version = "1.7", optional = true }
[dev-dependencies]
tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
rsa = { version = "0.9", features = ["std"] }
rand = "0.8"
reqwest = { version = "0.12", features = ["json"] }
serde_json = "1.0"
criterion = { version = "0.5", features = ["html_reports"] }
base64 = "0.21"
jsonwebtoken = "9"
[[example]]
name = "basic"
[[example]]
name = "multi_algorithm"
required-features = ["all-algorithms"]
[[bench]]
name = "rsa_signature_verification"
harness = false
[[bench]]
name = "rsa_end_to_end"
harness = false
[[bench]]
name = "rsa_jsonwebtoken_comparison"
harness = false
[[bench]]
name = "hmac_algorithms"
harness = false
[[bench]]
name = "token_parsing"
harness = false
[[bench]]
name = "claims_validation"
harness = false
[[bench]]
name = "ecdsa_algorithms"
harness = false
required-features = ["ecdsa"]
[[bench]]
name = "algorithm_selection"
harness = false
[[bench]]
name = "jwks_caching"
harness = false
required-features = ["remote"]