21 lines
717 B
C#
21 lines
717 B
C#
|
using ZeroFramework.IdentityServer.API.IdentityStores;
|
|||
|
|
|||
|
namespace ZeroFramework.IdentityServer.API.Tenants
|
|||
|
{
|
|||
|
public class TenantMiddleware(ICurrentTenant currentTenant, ITenantProvider tenantProvider) : IMiddleware
|
|||
|
{
|
|||
|
private readonly ICurrentTenant _currentTenant = currentTenant;
|
|||
|
private readonly ITenantProvider _tenantProvider = tenantProvider;
|
|||
|
|
|||
|
public async Task InvokeAsync(HttpContext context, RequestDelegate next)
|
|||
|
{
|
|||
|
IdentityTenant? currentTenant = await _tenantProvider.GetTenantAsync();
|
|||
|
|
|||
|
using (_currentTenant.Change(currentTenant?.Id, currentTenant?.Name))
|
|||
|
{
|
|||
|
await next(context);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|