ubl-axum-kit

Crates.ioubl-axum-kit
lib.rsubl-axum-kit
version0.2.0
created_at2026-01-14 09:46:04.301352+00
updated_at2026-01-14 09:46:04.301352+00
descriptionShared Axum middleware for UBL services: JWT/PoP verification, rate limiting, tenant extraction
homepagehttps://logline.foundation
repositoryhttps://github.com/danvoulez/ubl-services
max_upload_size
id2042520
size54,813
(danvoulez)

documentation

https://docs.rs/ubl-axum-kit

README

ubl-axum-kit

Shared Axum middleware for UBL services.

Features

  • JWT verification via ubl-auth
  • PoP (Proof-of-Possession) verification via ubl-id
  • Rate limiting (per tenant/actor)
  • Tenant extraction from path
  • Actor context (did, scope)
  • ULID trace ID generation
  • Standard API response types

Usage

use ubl_axum_kit as kit;

// Extract actor from headers
let actor = kit::actor_from_headers(&headers, &jwks_uri, Some(&tenant)).await?;

// Rate limiting
if !store.limiter.allow(&tenant, &actor.did, 100) {
    return Err(kit::ApiError { error: "rate limit".into(), ... });
}

// Standard responses
kit::ApiOk(json!({ "data": value }))
kit::ApiError { error, code, trace_id }
kit::ApiNotFound { error, trace_id }

Part of UBL Ecosystem

License

MIT OR Apache-2.0

Commit count: 0

cargo fmt