[package]
edition = "2024"
rust-version = "1.85"
name = "tokenkit"
version = "0.1.1"
build = false
exclude = ["/target"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Type-safe JWT encode/decode for Rust — configurable validation, secret rotation, key rotation, and revocation support"
readme = "README.md"
keywords = [
"jwt",
"token",
"authentication",
"jwk",
"security",
]
categories = [
"authentication",
"web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/WyattAu/tokenkit"
[features]
default = ["std"]
revocation = [
"tokio",
"dep:async-trait",
]
revocation-redis = [
"revocation",
"dep:redis",
]
rotation = []
std = []
[lib]
name = "tokenkit"
path = "src/lib.rs"
[[bench]]
name = "token_bench"
path = "benches/token_bench.rs"
harness = false
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.jsonwebtoken]
version = "9"
[dependencies.redis]
version = "0.25"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"sync",
]
optional = true
[dependencies.uuid]
version = "1"
features = ["v4"]
[dependencies.zeroize]
version = "1"
features = ["derive"]
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1"