Resolving Tenant IDs
Arc resolves tenant IDs through pluggable strategies. Each request is evaluated by the configured resolver, and the resulting tenant ID becomes the active tenant context for the request lifecycle.
Built-In Resolvers
Header Resolver (Default)
Resolves the tenant ID from an HTTP header.
builder.AddCratisArcCore(options =>
{
options.UseHeaderTenancy("X-Tenant-ID");
});
Default header name: x-cratis-tenant-id
Query Parameter Resolver
Resolves the tenant ID from a query string parameter.
builder.AddCratisArcCore(options =>
{
options.UseQueryTenancy("tenant");
});
Default parameter name: tenantId
Claim Resolver
Resolves the tenant ID from a claim on the authenticated user.
builder.AddCratisArcCore(options =>
{
options.UseClaimTenancy("tenant_id");
});
Default claim type: tenant_id
Development Resolver
Uses a fixed tenant ID for local development.
builder.AddCratisArcCore(options =>
{
options.UseDevelopmentTenancy("my-test-tenant");
});
Default tenant ID: development