[package]
edition = "2021"
name = "pep"
version = "0.5.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Policy Enforcement Point - OIDC authentication and authorization library"
readme = "README.md"
keywords = [
"oidc",
"authentication",
"authorization",
"jwt",
"security",
]
categories = [
"authentication",
"web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/podtan/pep"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
authorization = [
"oidc-resource-server",
"axum",
"dep:tower",
]
axum = ["dep:axum"]
cedar = [
"dep:cedar-policy",
"oidc-resource-server",
]
config = ["dep:toml"]
default = []
oidc = [
"oidc-client",
"oidc-resource-server",
]
oidc-client = []
oidc-resource-server = []
rfc9728 = ["axum"]
token-provider = ["oidc-client"]
[lib]
name = "pep"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.cedar-policy]
version = "4.9"
optional = true
[dependencies.dirs]
version = "5"
[dependencies.hmac]
version = "0.12"
[dependencies.http]
version = "1.0"
[dependencies.jsonwebtoken]
version = "9.3"
[dependencies.rand]
version = "0.8"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls-webpki-roots",
]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.0"
features = [
"rt-multi-thread",
"macros",
"time",
"net",
]
[dependencies.toml]
version = "0.8"
optional = true
[dependencies.tower]
version = "0.5"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.urlencoding]
version = "2.1"
[dependencies.uuid]
version = "1.0"
features = ["v4"]