Files
nx9-auth/Cargo.toml
T

96 lines
2.0 KiB
TOML

[package]
name = "nx9-auth"
version = "0.3.0"
edition = "2024"
authors = ["NX9 Team","Sunil Thakare"]
description = "Lightweight self-hosted IAM service for the NX9 ecosystem"
license = "MIT OR Apache-2.0"
repository = "https://github.com/nx9-iam/nx9-auth"
homepage = "https://nx9.dev"
documentation = "https://docs.rs/nx9-auth"
keywords = ["iam", "authentication", "authorization", "rbac", "security"]
categories = ["authentication", "web-programming::http-server"]
[[bin]]
name = "nx9-auth"
path = "src/main.rs"
[lib]
name = "nx9_auth"
path = "src/lib.rs"
[dependencies]
async-trait = "0.1"
# HTTP framework
axum = { version = "0.8.9", features = ["macros"] }
axum-extra = { version = "0.12", features = ["cookie"] }
tower = { version = "0.5", features = ["full"] }
tower-http = { version = "0.6.11", features = ["trace", "request-id", "compression-gzip", "cors", "set-header"] }
# Async runtime
tokio = { version = "1.52.3", features = ["full"] }
tokio-util = "0.7"
# Database
sqlx = { version = "0.9.0", features = ["runtime-tokio", "chrono", "macros"] }
# Password hashing
argon2 = "0.5.3"
# Token/session hashing
blake3 = "1.8.5"
# CLI
clap = { version = "4.6.1", features = ["derive", "color", "env"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Time
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.23.3", features = ["v4"] }
time = { version = "0.3.47", features = ["macros"] }
# Config
toml = "0.8"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "fmt"] }
# Random
rand = { version = "0.8", features = ["std", "std_rng"] }
# Error handling
thiserror = "2.0"
anyhow = "1.0"
# Rate limiter
dashmap = "6.0"
# Utilities
hex = "0.4"
url = "2.5"
subtle = "2.6"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
panic = "abort"
[profile.dev]
opt-level = 0
debug = true
[dev-dependencies]
http-body-util = "0.1"
[features]
default = ["sqlite"]
sqlite = ["sqlx/sqlite"]
postgres = ["sqlx/postgres"]