[package]
edition = "2024"
rust-version = "1.87"
name = "axess"
version = "0.2.0"
authors = ["Gnomes"]
build = false
exclude = [
"/.github",
"/examples",
"/scripts",
"tests/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Modular authentication and authorization for Axum. Typed session state machine,
multi-factor authentication (password, TOTP, FIDO2, OAuth/OIDC), Cedar Policy
authorization, and deterministic simulation testing.
"""
homepage = "https://github.com/GnomesOfZurich/axess"
documentation = "https://docs.rs/axess"
readme = "README.md"
keywords = [
"authentication",
"authorization",
"axum",
"mfa",
"session",
]
categories = [
"web-programming",
"authentication",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/GnomesOfZurich/axess"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
accept-client-id = ["axess-core/accept-client-id"]
authz = [
"axess-core/authz",
"axess-macros/authz",
"dep:cedar-policy",
]
aws-sts = ["axess-core/aws-sts"]
azure-fic = ["axess-core/azure-fic"]
cloud-sts = ["axess-core/cloud-sts"]
default = [
"authz",
"device",
]
delegated = ["axess-core/delegated"]
delegated-exchange = ["axess-core/delegated-exchange"]
delegated-stored = ["axess-core/delegated-stored"]
delegated-stored-encrypted = ["axess-core/delegated-stored-encrypted"]
device = ["axess-core/device"]
fapi = ["axess-core/fapi"]
fido2 = ["axess-core/fido2"]
gcp-wif = ["axess-core/gcp-wif"]
jwt = ["axess-core/jwt"]
jwt-svid = [
"jwt",
"axess-core/jwt-svid",
]
ldap = ["axess-core/ldap"]
local-idp = ["axess-core/local-idp"]
memory = ["axess-core/memory"]
moka-cache = ["axess-core/moka-cache"]
mtls = ["axess-core/mtls"]
mysql = ["axess-core/mysql"]
oauth = ["axess-core/oauth"]
outbound-mtls = ["axess-core/outbound-mtls"]
outbound-oauth = ["axess-core/outbound-oauth"]
postgres = ["axess-core/postgres"]
request-id = ["axess-core/request-id"]
social = ["axess-core/social"]
sqlite = ["axess-core/sqlite"]
testing = [
"axess-core/testing",
"axess-identity/testing",
"memory",
]
trace-id = ["axess-core/trace-id"]
valkey = ["axess-core/valkey"]
valkey-cache = [
"axess-core/valkey-cache",
"valkey",
]
workload-id = ["axess-core/workload-id"]
ws = ["axess-core/ws"]
[lib]
name = "axess"
path = "src/lib.rs"
[dependencies.axess-core]
version = "0.2.0"
features = [
"authz",
"device",
"default-error-response",
"serde",
]
default-features = false
[dependencies.axess-factors]
version = "0.2.0"
[dependencies.axess-identity]
version = "0.2.0"
features = ["serde"]
default-features = false
[dependencies.axess-macros]
version = "0.2.0"
[dependencies.axum]
version = "0.8.9"
features = ["json"]
default-features = false
[dependencies.cedar-policy]
version = "4.11.0"
optional = true
[dependencies.serde_json]
version = "1.0.150"
default-features = false
[dev-dependencies.axum]
version = "0.8.9"
features = ["macros"]
default-features = false
[dev-dependencies.chrono]
version = "0.4.44"
[dev-dependencies.tokio]
version = "1.52.3"
features = ["full"]
default-features = false
[dev-dependencies.tower]
version = "0.5.3"
features = ["util"]