[package]
name = "zitadel"
description = "An implementation of ZITADEL API access and authentication in Rust."
version = "3.4.21"
edition = "2021"
license = "MIT OR Apache-2.0"
authors = ["Christoph Bühler <christoph@smartive.ch>"]
repository = "https://github.com/buehler/zitadel-rust"
keywords = ["ZITADEL", "gRPC", "clients", "authentication", "oidc"]
categories = ["authentication", "api-bindings"]
include = [
"src/**/*.rs",
"Cargo.toml",
"LICENSE*",
"README.md",
]
[features]
default = []
api = ["dep:prost", "dep:prost-types", "dep:tonic", "dep:tonic-types", "dep:pbjson-types"]
axum = ["credentials", "oidc", "dep:axum", "dep:axum-extra"]
credentials = ["dep:jsonwebtoken", "dep:openidconnect", "dep:reqwest", "dep:serde", "dep:serde_json", "dep:serde_urlencoded", "dep:time"]
interceptors = ["api", "credentials", "dep:time", "dep:tokio"]
introspection_cache = ["dep:async-trait", "dep:time"]
oidc = ["credentials", "dep:base64-compat"]
rocket = ["credentials", "oidc", "dep:rocket"]
[dependencies]
async-trait = { version = "0.1.73", optional = true }
axum = { version = "0.6.20", optional = true, features = ["headers", "macros"] }
axum-extra = { version = "0.7.7", optional = true }
base64-compat = { version = "1", optional = true }
custom_error = "1.9.2"
document-features = { version = "0.2", optional = true }
jsonwebtoken = { version = "8.3.0", optional = true }
openidconnect = { version = "3.3.1", optional = true }
pbjson-types = { version = "0.5.1", optional = true }
prost = { version = "0.11", optional = true }
prost-types = { version = "0.11", optional = true }
reqwest = { version = "0.11.20", features = ["json", "rustls-tls"], default-features = false, optional = true }
rocket = { version = "0.5.0-rc.3", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
serde_urlencoded = { version = "0.7.1", optional = true }
time = { version = "0.3.28", optional = true }
tokio = { version = "1", optional = true, features = [
"macros",
"rt-multi-thread",
] }
tonic = { version = "0.9", features = [
"tls",
"tls-roots",
"tls-roots-common",
], optional = true }
tonic-types = { version = "0.9", optional = true }
[dev-dependencies]
chrono = "0.4.30"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
tower = { version = "0.4.13" }
[package.metadata.docs.rs]
all-features = true