Skip to main content

Module tenant_resolver

Module tenant_resolver 

Source
Expand description

Tenant resolution for multi-tenant A2A servers.

TenantResolver extracts a tenant identifier from incoming requests, enabling per-tenant routing, configuration, and resource isolation.

§Built-in resolvers

ResolverStrategy
HeaderTenantResolverReads a configurable HTTP header (default: x-tenant-id)
BearerTokenTenantResolverExtracts Authorization: Bearer <token> and optionally maps it
PathSegmentTenantResolverExtracts a URL path segment by index

§Example

use a2a_protocol_server::tenant_resolver::HeaderTenantResolver;
use a2a_protocol_server::CallContext;

let resolver = HeaderTenantResolver::default();
let ctx = CallContext::new("message/send")
    .with_http_header("x-tenant-id", "acme-corp");

// resolver.resolve(&ctx) would return Some("acme-corp".into())

Structs§

BearerTokenTenantResolver
Extracts a tenant ID from the Authorization: Bearer <token> header.
HeaderTenantResolver
Extracts a tenant ID from a configurable HTTP header.
PathSegmentTenantResolver
Extracts a tenant ID from a URL path segment by index.

Traits§

TenantResolver
Trait for extracting a tenant identifier from incoming requests.