[package]
edition = "2024"
rust-version = "1.88.0"
name = "limes"
version = "0.3.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Limes is a multi-tenant capable Authentication middleware for OAuth2.0 and Open ID Connect with support for axum.
"""
homepage = "https://github.com/vakamo-labs/limes-rs"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/vakamo-labs/limes-rs"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
all = [
"kubernetes",
"rustls-tls",
"jwks",
"axum",
"valuable",
]
aws-lc-rs = ["kube?/aws-lc-rs"]
axum = [
"dep:axum",
"axum-extra",
]
default = [
"rustls-tls",
"jwks",
"aws-lc-rs",
]
jwks = ["jwks_client_rs"]
kubernetes = [
"kube",
"k8s-openapi",
]
ring = ["kube?/ring"]
rustls-tls = [
"kube?/rustls-tls",
"jwks_client_rs?/rustls-tls",
"reqwest/rustls-tls",
"reqwest/rustls-tls-native-roots",
]
valuable = ["dep:valuable"]
[lib]
name = "limes"
path = "src/lib.rs"
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.axum-extra]
version = "0.12"
features = ["typed-header"]
optional = true
[dependencies.jsonwebtoken]
version = "10.2"
features = ["aws_lc_rs"]
[dependencies.jwks_client_rs]
version = "0.5.2"
optional = true
default-features = false
[dependencies.k8s-openapi]
version = "0.26"
features = ["v1_32"]
optional = true
[dependencies.kube]
version = "2.0"
features = ["client"]
optional = true
default-features = false
[dependencies.once_cell]
version = "1.20"
[dependencies.reqwest]
version = "0.12"
features = ["json"]
default-features = false
[dependencies.serde]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
features = ["preserve_order"]
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "^0.1"
features = ["attributes"]
[dependencies.trait-variant]
version = "0.1.2"
[dependencies.typed-builder]
version = "0.23"
[dependencies.url]
version = "2.5"
features = ["serde"]
[dependencies.valuable]
version = "0.1.1"
features = ["derive"]
optional = true
[dev-dependencies.axum]
version = "0.8"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.tokio]
version = "1.43"
features = ["rt-multi-thread"]
[dev-dependencies.tracing-test]
version = "0.2.5"