[package]
name = "authfix"
description = "A simple and extensible authentication layer for Actix Web, designed for fast integration and easy configuration."
authors = ["Stefan Simon <stefan.j.c.simon@gmail.com>"]
homepage = "https://github.com/Hypnagokali/authfix"
repository = "https://github.com/Hypnagokali/authfix"
keywords = ["authentication", "web", "middleware", "actix-web", "session"]
categories = ["authentication", "web-programming"]
exclude = [".gitignore", ".github/", "tests/", "target/", "test-out/", "test-utils/", "CODE_OF_CONDUCT.md", "CONTRIBUTING.md"]
license = "MIT OR Apache-2.0"
readme = "README.md"
version = "0.1.1"
edition = "2021"
[workspace]
members = [".", "test-utils"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
authenticator = ["dep:google-authenticator", "dep:qrcode-generator", "dep:rand", "dep:base32"]
mfa_send_code = []
[dependencies]
actix-web="4.11"
log = "0.4"
serde = { version = "1.0", features = ["derive"]}
actix-session = { version = "0.10", features = ["cookie-session"] }
futures = "0.3"
regex = "1.11"
urlencoding = "2.1"
thiserror = "2.0"
async-trait = "0.1"
google-authenticator = { version = "0.4", optional = true }
qrcode-generator = { version = "5.0", optional = true }
rand = { version = "0.9", optional = true }
base32 = { version = "0.5", optional = true }
[dev-dependencies]
reqwest = { version = "0.12", features = ["cookies"]}
actix-session = { version = "0.10", features = ["cookie-session"]}
actix-rt = "2.10.0"
actix-test = "0.1.5"
resvg = "0.45"
rqrr = "0.10"
image = "0.25"
chrono = "0.4"
env_logger = "0.11"
lazy_static = "1.5"
authfix = { path = ".", features = ["authenticator", "mfa_send_code"] }
authfix-test-utils = { path = "./test-utils" }