Tenancy Configuration
You can configure tenancy programmatically or through configuration files. Both approaches map to the same options and resolver types.
Programmatic Configuration
builder.AddCratisArcCore(options =>
{
options.UseHeaderTenancy("X-Custom-Tenant");
// options.UseQueryTenancy("tenant");
// options.UseClaimTenancy("tenant_id");
// options.UseDevelopmentTenancy("test-tenant");
});
Configuration File (appsettings.json)
{
"Cratis": {
"Arc": {
"Tenancy": {
"ResolverType": "Header",
"HttpHeader": "X-Tenant-ID"
}
}
}
}
Resolver-Specific Settings
Header Resolver
{
"Tenancy": {
"ResolverType": "Header",
"HttpHeader": "X-Custom-Tenant"
}
}
Query Resolver
{
"Tenancy": {
"ResolverType": "Query",
"QueryParameter": "tenant"
}
}
Claim Resolver
{
"Tenancy": {
"ResolverType": "Claim",
"ClaimType": "tenant_id"
}
}
Development Resolver
{
"Tenancy": {
"ResolverType": "Development",
"DevelopmentTenantId": "local-tenant"
}
}