Class TenantValidationExtensions
- Namespace
- Compendium.Adapters.AspNetCore.Security
- Assembly
- Compendium.Adapters.AspNetCore.dll
Extension methods for configuring tenant validation.
public static class TenantValidationExtensions
- Inheritance
-
TenantValidationExtensions
- Inherited Members
Methods
AddTenantValidation(IServiceCollection, Action<TenantValidationMiddlewareOptions>?, Action<TenantConsistencyOptions>?)
Adds tenant validation services to the service collection. Includes tenant resolvers, consistency validator, and tenant context.
public static IServiceCollection AddTenantValidation(this IServiceCollection services, Action<TenantValidationMiddlewareOptions>? configureMiddleware = null, Action<TenantConsistencyOptions>? configureConsistency = null)
Parameters
servicesIServiceCollectionThe service collection.
configureMiddlewareAction<TenantValidationMiddlewareOptions>Optional middleware configuration.
configureConsistencyAction<TenantConsistencyOptions>Optional consistency validation configuration.
Returns
- IServiceCollection
The service collection for chaining.
AddTenantValidationWithInMemoryStore(IServiceCollection, params TenantInfo[])
Adds tenant validation with an in-memory tenant store. Useful for development and testing.
public static IServiceCollection AddTenantValidationWithInMemoryStore(this IServiceCollection services, params TenantInfo[] tenants)
Parameters
servicesIServiceCollectionThe service collection.
tenantsTenantInfo[]Initial tenants to seed.
Returns
- IServiceCollection
The service collection for chaining.
UseTenantValidation(IApplicationBuilder)
Uses the tenant validation middleware in the application pipeline. Should be registered after authentication but before authorization.
public static IApplicationBuilder UseTenantValidation(this IApplicationBuilder app)
Parameters
appIApplicationBuilderThe application builder.
Returns
- IApplicationBuilder
The application builder for chaining.
Remarks
Typical pipeline order:
- UseAuthentication()
- UseTenantValidation() // This middleware
- UseAuthorization()
- MapControllers()