[package]
name = "authen"
version = "0.1.0"
edition = "2024"
description = "A robust, modular, high-level, and secure authentication crate for Rust."
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/ZiedYousfi/authen"
documentation = "https://docs.rs/authen"
keywords = ["auth", "authentication", "security", "jwt", "argon2"]
categories = ["authentication", "cryptography", "web-programming"]
[dependencies]
argon2 = "0.5.3"
jsonwebtoken = "9.3.1"
chrono = { version = "0.4.41", features = ["serde"] }
uuid = { version = "1.17.0", features = ["serde", "v4"] }
thiserror = "2.0.12"
serde = { version = "1.0.219", features = ["derive"] }
async-trait = "0.1.88"
rand = { version = "0.9.2" }
log = "0.4.27"
zeroize = { version = "1.8.1", features = ["derive"] }
serde_json = "1.0.142"
oauth2 = { version = "5.0.0" }
reqwest = { version = "0.12.22", features = ["json"] }
sqlx = { version = "0.8.6", features = [
"runtime-tokio",
"macros",
"postgres",
"uuid",
"chrono",
"migrate",
], optional = true }
sqlx-postgres = { version = "0.8.6", optional = true }
axum = { version = "0.8.4", optional = true }
tokio = { version = "1.47.1", features = ["full"], optional = true }
[features]
bare = []
postgres = ["dep:sqlx", "dep:sqlx-postgres", "tokio"]
axum = ["dep:axum", "tokio"]
web = ["axum"]
db = ["postgres"]
full = ["db", "web"]
[dev-dependencies]
tokio = { version = "1.47.1", features = ["full"] }
env_logger = "0.11.8"
criterion = { version = "0.7.0", features = [
"async",
"async_tokio",
], default-features = false }
[[bench]]
name = "all_benches"
harness = false