ubl-axum-kit 0.2.0

Shared Axum middleware for UBL services: JWT/PoP verification, rate limiting, tenant extraction
Documentation

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