[workspace]
resolver = "2"
members = [
".",
"rust/phenotype-auth-contracts",
"rust/phenotype-cipher",
"rust/phenotype-crypto",
"rust/phenotype-casbin-wrapper",
]
[package]
name = "authvault"
version = "0.1.0"
edition = "2021"
authors = ["Phenotype Team"]
description = "Authentication and authorization vault with multi-provider support"
license = "MIT OR Apache-2.0"
repository = "https://github.com/KooshaPari/Authvault"
documentation = "https://docs.rs/authvault"
keywords = ["auth", "authentication", "authorization", "jwt", "oauth"]
categories = ["authentication", "web-programming"]
rust-version = "1.75"
[dependencies]
tokio = { version = "1", features = ["full"] }
async-trait = "0.1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2.0"
anyhow = "1.0"
uuid = { version = "1", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
jsonwebtoken = { version = "10", features = ["use_pem", "rust_crypto"] }
argon2 = "0.5"
sha2 = "0.11"
base64 = "0.21"
rand = "0.10"
rand_core = { version = "0.6", features = ["getrandom"] }
http = "1"
axum = "0.8"
tokio-postgres = "0.7"
redis = { version = "1.2", features = ["tokio-comp", "connection-manager"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
regex = "1"
bcrypt = "0.19"
chacha20poly1305 = "0.10"
zeroize = { version = "1.8", features = ["derive"] }
tower = { version = "0.5", features = ["util"] }
[dev-dependencies]
rcgen = "0.14.7"
criterion = "0.8"
tempfile = "3"
tower = "0.5"
[profile.release]
lto = true
[[bench]]
name = "auth"
harness = false
[[bench]]
name = "benchmarks"
harness = false
[[bench]]
name = "perf"
harness = false