# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"]
