[package]
edition = "2021"
name = "secure_authz"
version = "0.1.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Deny-by-default authorization with RBAC, ABAC, tenant isolation, and web middleware."
documentation = "https://docs.rs/secure_authz"
readme = "README.md"
keywords = [
"security",
"authz",
"rbac",
"abac",
"tenant",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/kerberosmansour/SunLitSecurityLibraries"
[features]
actix-web = ["dep:actix-web"]
axum = [
"dep:axum",
"dep:axum-core",
"dep:tower",
]
default = ["axum"]
[lib]
name = "secure_authz"
path = "src/lib.rs"
[[example]]
name = "actix_authz_minimal"
path = "examples/actix_authz_minimal.rs"
required-features = ["actix-web"]
[[example]]
name = "route_coverage"
path = "examples/route_coverage.rs"
[[test]]
name = "e2e_sunlit_imp_m15"
path = "tests/e2e_sunlit_imp_m15.rs"
[[test]]
name = "e2e_sunlit_m6"
path = "tests/e2e_sunlit_m6.rs"
[[test]]
name = "e2e_sunlit_ndt_m4"
path = "tests/e2e_sunlit_ndt_m4.rs"
[[test]]
name = "e2e_sunlit_owasp_m23"
path = "tests/e2e_sunlit_owasp_m23.rs"
[[test]]
name = "prop_deny_default"
path = "tests/prop_deny_default.rs"
[[test]]
name = "sg_gate_a_actix_authz"
path = "tests/sg_gate_a_actix_authz.rs"
[[test]]
name = "sg_gate_a_parity_authz"
path = "tests/sg_gate_a_parity_authz.rs"
[[test]]
name = "sg_gate_a_policy_coverage"
path = "tests/sg_gate_a_policy_coverage.rs"
[[test]]
name = "sunlit_authz_cache"
path = "tests/sunlit_authz_cache.rs"
[[test]]
name = "sunlit_authz_deny_default"
path = "tests/sunlit_authz_deny_default.rs"
[[test]]
name = "sunlit_authz_ownership"
path = "tests/sunlit_authz_ownership.rs"
[[test]]
name = "sunlit_authz_policies"
path = "tests/sunlit_authz_policies.rs"
[[test]]
name = "sunlit_authz_tenant"
path = "tests/sunlit_authz_tenant.rs"
[[test]]
name = "sunlit_imp_authz_cache_tenant"
path = "tests/sunlit_imp_authz_cache_tenant.rs"
[[test]]
name = "sunlit_imp_authz_obligations"
path = "tests/sunlit_imp_authz_obligations.rs"
[[test]]
name = "sunlit_owasp_abac"
path = "tests/sunlit_owasp_abac.rs"
[[test]]
name = "sunlit_owasp_temporal"
path = "tests/sunlit_owasp_temporal.rs"
[dependencies.actix-web]
version = "4"
optional = true
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.axum-core]
version = "0.5"
optional = true
[dependencies.casbin]
version = "2"
[dependencies.http]
version = "1"
[dependencies.lru]
version = "0.18"
[dependencies.secure_device_trust]
version = "0.1.2"
package = "secure_device_trust"
[dependencies.secure_errors]
version = "0.1.2"
package = "secure_errors"
[dependencies.secure_identity]
version = "0.1.2"
package = "secure_identity"
[dependencies.secure_network]
version = "0.1.2"
package = "secure_network"
[dependencies.security_core]
version = "0.1.2"
package = "security_core"
[dependencies.security_events]
version = "0.1.2"
package = "security_events"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.smallvec]
version = "1"
features = ["serde"]
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
features = ["serde"]
[dependencies.tokio]
version = "1"
features = [
"sync",
"time",
"rt",
]
[dependencies.tower]
version = "0.5"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dev-dependencies.actix-web]
version = "4"
[dev-dependencies.axum]
version = "0.8"
features = ["macros"]
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.time]
version = "0.3"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[dev-dependencies.tower]
version = "0.5"
features = ["util"]
[dev-dependencies.uuid]
version = "1"
features = ["v4"]
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(kani)"]