authzen 0.1.0-alpha.0

A framework for easily integrating authorization into backend services.
Documentation
[package]
name = "authzen"
version = "0.1.0-alpha.0"
description = "A framework for easily integrating authorization into backend services."
authors.workspace = true
edition.workspace = true
categories.workspace = true
keywords.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
build = "build.rs"

[package.metadata.docs.rs]
all-features = true

[build-dependencies]
rustc_version.workspace = true

[dependencies]
authzen-diesel = { path = "../storage-backends/diesel", version = "0.1.0-alpha.0", optional = true }
authzen-opa = { path = "../decision-makers/opa", version = "0.1.0-alpha.0", optional = true }
authzen-core = { path = "../core", version = "0.1.0-alpha.0" }
authzen-proc-macros = { path = "../proc-macros", version = "0.1.0-alpha.0" }
authzen-proc-macro-util = { path = "../proc-macro-util", version = "0.1.0-alpha.0", optional = true }
authzen-service-util = { path = "../service-util", version = "0.1.0-alpha.0", optional = true }
authzen-session = { path = "../session", version = "0.1.0-alpha.0", optional = true }

cfg-if.workspace = true
derivative.workspace = true
futures.workspace = true

dotenv = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }

[features]
diesel-storage-backend = ["authzen-diesel", "authzen-core/diesel-storage-backend"]
diesel-mysql = ["diesel-storage-backend", "authzen-core/diesel-mysql", "authzen-diesel/mysql"]
diesel-postgres = ["diesel-storage-backend", "authzen-core/diesel-postgres", "authzen-diesel/postgres"]
diesel-bb8 = ["diesel-storage-backend", "authzen-diesel/bb8"]
diesel-deadpool = ["diesel-storage-backend", "authzen-diesel/deadpool"]
diesel-mobc = ["diesel-storage-backend", "authzen-diesel/mobc"]

extra-traits = ["authzen-core/extra-traits"]

mongodb-tx-cache = ["authzen-core/mongodb-tx-cache"]

opa-decision-maker = ["authzen-opa", "authzen-core/opa-decision-maker"]

policy-information-point = ["authzen-core/policy-information-point"]
policy-information-point-server = ["authzen-core/policy-information-point-server", "dep:dotenv", "dep:tokio"]

proc-macro-util = ["authzen-proc-macro-util"]

service-util = ["authzen-service-util"]
service-util-axum-05 = ["service-util", "authzen-service-util/axum-05"]
service-util-axum-06 = ["service-util", "authzen-service-util/axum-06"]
service-util-client = ["service-util", "authzen-service-util/client"]
service-util-db = ["service-util", "authzen-service-util/db"]
service-util-graphql = ["service-util", "authzen-service-util/graphql"]
service-util-grpc = ["service-util", "authzen-service-util/grpc"]
service-util-http1 = ["service-util", "authzen-service-util/http1"]
service-util-http2 = ["service-util", "authzen-service-util/http2"]
service-util-log_error = ["service-util", "authzen-service-util/log_error"]
service-util-max-allowed-request-body-size-large = ["service-util", "authzen-service-util/max-allowed-request-body-size-large"]
service-util-max-allowed-request-body-size-medium = ["service-util", "authzen-service-util/max-allowed-request-body-size-medium"]
service-util-max-allowed-request-body-size-small = ["service-util", "authzen-service-util/max-allowed-request-body-size-small"]
service-util-server = ["service-util", "authzen-service-util/server"]
service-util-trace = ["service-util", "authzen-service-util/trace"]

session = ["authzen-session"]
session-account-session = ["session", "authzen-session/account-session"]
session-axum-core-02 = ["session", "authzen-session/axum-core-02"]
session-axum-core-03 = ["session", "authzen-session/axum-core-03"]
session-redis-backend = ["session", "authzen-session/redis-backend"]

tracing = ["authzen-core/tracing"]