[package]
edition = "2021"
name = "authkestra"
version = "0.5.2"
build = false
exclude = [
"/Cargo.lock",
"tests/**/*",
"examples/**/*",
".github/**/*",
"docs/**/*",
"website/**/*",
"benches/**/*",
".gitignore",
".agents/**/*",
"plans/**/*",
"AGENTS.md",
"docker-compose.yml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A modular authentication framework for Rust"
readme = "README.md"
keywords = [
"auth",
"authentication",
"oauth2",
"oidc",
]
categories = ["authentication"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/marcjazz/authkestra"
[features]
actix = [
"dep:authkestra-actix",
"authkestra-actix/session",
"authkestra-actix/token",
"authkestra-actix/resource",
]
axum = [
"dep:authkestra-axum",
"authkestra-axum/macros",
"authkestra-axum/session",
"authkestra-axum/token",
"authkestra-axum/resource",
]
default = ["rustls-aws-lc-rs"]
discord = ["authkestra-providers/discord"]
full = [
"session",
"token",
"oidc",
"axum",
"actix",
"github",
"google",
"discord",
]
github = ["authkestra-providers/github"]
google = ["authkestra-providers/google"]
oidc = ["dep:authkestra-oidc"]
resource = [
"dep:authkestra-resource",
"authkestra-actix?/resource",
"authkestra-axum?/resource",
]
rustls-aws-lc-rs = [
"authkestra-engine/rustls-aws-lc-rs",
"authkestra-oidc?/rustls-aws-lc-rs",
"authkestra-axum?/rustls-aws-lc-rs",
"authkestra-actix?/rustls-aws-lc-rs",
"authkestra-providers?/rustls-aws-lc-rs",
"authkestra-resource?/rustls-aws-lc-rs",
]
rustls-no-provider = [
"authkestra-engine/rustls-no-provider",
"authkestra-oidc?/rustls-no-provider",
"authkestra-axum?/rustls-no-provider",
"authkestra-actix?/rustls-no-provider",
"authkestra-providers?/rustls-no-provider",
"authkestra-resource?/rustls-no-provider",
]
session = ["authkestra-engine/session"]
token = ["authkestra-engine/token"]
[lib]
name = "authkestra"
path = "src/lib.rs"
[dependencies.authkestra-actix]
version = "0.5.2"
optional = true
default-features = false
[dependencies.authkestra-axum]
version = "0.5.2"
optional = true
default-features = false
[dependencies.authkestra-engine]
version = "0.5.2"
features = ["token"]
default-features = false
[dependencies.authkestra-oidc]
version = "0.5.2"
optional = true
default-features = false
[dependencies.authkestra-providers]
version = "0.5.2"
optional = true
default-features = false
[dependencies.authkestra-resource]
version = "0.5.2"
optional = true
default-features = false
[dev-dependencies.actix-files]
version = "0.6"
[dev-dependencies.actix-web]
version = "4"
[dev-dependencies.async-trait]
version = "0.1.91"
[dev-dependencies.authkestra-actix]
version = "0.5.2"
features = [
"devsig",
"macros",
"session",
"token",
"resource",
"op",
"captcha",
]
default-features = false
[dev-dependencies.authkestra-axum]
version = "0.5.2"
features = [
"devsig",
"macros",
"session",
"token",
"resource",
"op",
"captcha",
]
default-features = false
[dev-dependencies.authkestra-devsig]
version = "0.5.2"
default-features = false
[dev-dependencies.authkestra-engine]
version = "0.5.2"
features = [
"token",
"session",
"memory",
"redis",
"sql-sqlite",
"totp",
"webauthn",
]
default-features = false
[dev-dependencies.authkestra-macros]
version = "0.5.2"
default-features = false
[dev-dependencies.authkestra-oidc]
version = "0.5.2"
default-features = false
[dev-dependencies.authkestra-op]
version = "0.5.2"
features = ["sqlx-sqlite"]
default-features = false
[dev-dependencies.authkestra-providers]
version = "0.5.2"
features = [
"github",
"google",
"discord",
]
default-features = false
[dev-dependencies.authkestra-resource]
version = "0.5.2"
default-features = false
[dev-dependencies.axum]
version = "0.8.8"
features = ["macros"]
[dev-dependencies.base64]
version = "0.22.1"
[dev-dependencies.chrono]
version = "0.4"
features = ["serde"]
[dev-dependencies.dotenvy]
version = "0.15"
[dev-dependencies.jsonwebtoken]
version = "11"
features = ["rust_crypto"]
[dev-dependencies.p256]
version = "0.13"
features = [
"pem",
"ecdsa",
"jwk",
]
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.rand_core]
version = "0.6"
features = ["getrandom"]
[dev-dependencies.redis]
version = "0.27"
features = ["tokio-comp"]
[dev-dependencies.reqwest]
version = "0.13"
features = ["json"]
default-features = false
[dev-dependencies.rsa]
version = "0.9"
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.sha2]
version = "0.10"
[dev-dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio",
"sqlite",
]
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[dev-dependencies.tower-cookies]
version = "0.11.0"
[dev-dependencies.tower-http]
version = "0.6"
features = ["fs"]
[dev-dependencies.tower-layer]
version = "0.3"
[dev-dependencies.tower-service]
version = "0.3"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dev-dependencies.url]
version = "2.5"
[dev-dependencies.uuid]
version = "1.0"
features = ["v4"]
[dev-dependencies.webauthn-rs]
version = "0.5.0"
[dev-dependencies.wiremock]
version = "0.6"