[package]
edition = "2021"
name = "sova-auth"
version = "0.1.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fortify-style authentication for Sova (register, 2FA, reset, roles)"
homepage = "https://s00d.github.io/sova/"
documentation = "https://docs.rs/sova-auth"
readme = false
keywords = [
"http",
"web",
"framework",
"async",
]
categories = [
"web-programming::http-server",
"network-programming",
]
license = "MIT"
repository = "https://github.com/s00d/sova"
[package.metadata.docs.rs]
features = [
"mail",
"templates",
"vld",
"activity",
]
[features]
activity = ["dep:sova-activity"]
default = [
"mail",
"templates",
]
mail = ["dep:sova-mail"]
templates = [
"mail",
"sova-mail/templates",
"dep:sova-templates",
]
vld = [
"dep:sova-vld",
"dep:vld",
"sova-vld/form",
"sova-vld/flash",
"sova-vld/openapi",
"vld/openapi",
]
[lib]
name = "sova_auth"
path = "src/lib.rs"
[[test]]
name = "activity"
path = "tests/activity.rs"
[[test]]
name = "fortify_api"
path = "tests/fortify_api.rs"
[[test]]
name = "fortify_web"
path = "tests/fortify_web.rs"
[[test]]
name = "guard"
path = "tests/guard.rs"
[[test]]
name = "login_throttle"
path = "tests/login_throttle.rs"
[[test]]
name = "meta"
path = "tests/meta.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.chrono]
version = "0.4"
features = [
"clock",
"std",
"clock",
"std",
"serde",
]
default-features = false
[dependencies.getrandom]
version = "0.2"
[dependencies.hmac]
version = "0.12"
[dependencies.http]
version = "1"
[dependencies.sea-orm]
version = "2.0"
features = [
"runtime-tokio-rustls",
"runtime-tokio-rustls",
"macros",
"with-chrono",
]
default-features = false
[dependencies.sea-orm-migration]
version = "2.0"
features = [
"runtime-tokio-rustls",
"runtime-tokio-rustls",
]
default-features = false
[dependencies.serde]
version = "1"
features = [
"derive",
"derive",
]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.sova-activity]
version = "0.1.1"
optional = true
[dependencies.sova-core]
version = "0.1.2"
features = ["multipart"]
[dependencies.sova-db]
version = "0.1.2"
default-features = false
[dependencies.sova-mail]
version = "0.1.0"
optional = true
[dependencies.sova-passport]
version = "0.1.1"
features = [
"jwt",
"session",
]
[dependencies.sova-rate-limit]
version = "0.1.0"
[dependencies.sova-session]
version = "0.1.1"
[dependencies.sova-templates]
version = "0.1.0"
optional = true
[dependencies.sova-vld]
version = "0.1.2"
features = [
"form",
"flash",
]
optional = true
[dependencies.totp-rs]
version = "5"
features = [
"gen_secret",
"otpauth",
"gen_secret",
"otpauth",
]
[dependencies.tracing]
version = "0.1"
[dependencies.urlencoding]
version = "2"
[dependencies.vld]
version = "0.4"
features = [
"serialize",
"serialize",
]
optional = true
default-features = true
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.http]
version = "1"
[dev-dependencies.sea-orm]
version = "2.0"
features = [
"runtime-tokio-rustls",
"runtime-tokio-rustls",
"sqlx-sqlite",
"macros",
"with-chrono",
]
default-features = false
[dev-dependencies.sea-orm-migration]
version = "2.0"
features = [
"runtime-tokio-rustls",
"runtime-tokio-rustls",
"sqlx-sqlite",
]
default-features = false
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.sova-activity]
version = "0.1.1"
[dev-dependencies.sova-core]
version = "0.1.2"
features = [
"testing",
"multipart",
]
[dev-dependencies.sova-csrf]
version = "0.1.1"
[dev-dependencies.sova-db]
version = "0.1.2"
features = ["sqlite"]
default-features = false
[dev-dependencies.sova-mail]
version = "0.1.0"
[dev-dependencies.sova-session]
version = "0.1.1"
[dev-dependencies.sova-testing]
version = "0.1.1"
features = [
"sqlite",
"auth",
]
default-features = false
[dev-dependencies.sova-vld]
version = "0.1.2"
features = [
"form",
"flash",
]
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
]
[dev-dependencies.totp-rs]
version = "5"
features = [
"gen_secret",
"otpauth",
"gen_secret",
"otpauth",
]
[dev-dependencies.vld]
version = "0.4"
features = [
"serialize",
"serialize",
]
default-features = true