authen 0.1.0

A robust, modular, high-level, and secure authentication crate for Rust.
Documentation
[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