[package]
name = "authkit"
version = "0.1.1"
edition = "2021"
rust-version = "1.75"
license = "MIT OR Apache-2.0"
authors = ["Akshay B <akshay2642005@gmail.com>"]
description = "A better-auth inspired authentication library for Rust. Framework-agnostic, secure by default, with database-backed sessions and email verification."
repository = "https://github.com/Akshay2642005/authkit"
documentation = "https://docs.rs/authkit"
homepage = "https://github.com/Akshay2642005/authkit"
readme = "README.md"
keywords = ["authentication", "auth", "session", "password", "security"]
categories = ["authentication", "web-programming", "database"]
exclude = [
"internal/*",
".github/*",
"target/*",
]
[lib]
name = "authkit"
path = "src/lib.rs"
[features]
default = ["sqlite","argon2"]
sqlite = ["sqlx/sqlite", "sqlx/runtime-tokio"]
postgres = ["sqlx/postgres", "sqlx/runtime-tokio"]
argon2 = ["dep:argon2", "dep:password-hash"]
bcrypt = ["dep:bcrypt"]
jwt = ["dep:jsonwebtoken"]
[dependencies]
tokio = { version = "1.28", features = ["full"] }
async-trait = "0.1"
sqlx = { version = "0.8", features = ["runtime-tokio"], default-features = false }
argon2 = {version = "0.5", optional = true }
password-hash = { version = "0.5", optional = true, features = ["getrandom"] }
bcrypt = {version = "0.17.1", optional = true }
jsonwebtoken = {version = "9", optional = true, features = ["use_pem"] }
rand = "0.9.2"
subtle = "2.5"
serde = {version = "1.0", features = ["derive"] }
thiserror = "2.0.17"
regex = "1.10"
hex = "0.4"
sha2 = "0.10.9"