diff --git a/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/Context/DefaultTenantResolutionContextFactory.cs b/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/Context/DefaultTenantResolutionContextFactory.cs
index 465c167..6443898 100644
--- a/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/Context/DefaultTenantResolutionContextFactory.cs
+++ b/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/Context/DefaultTenantResolutionContextFactory.cs
@@ -51,7 +51,18 @@ public TenantResolutionContext Create(HttpContext httpContext)
{
foreach (var claim in httpContext.User.Claims)
{
- if (!context.Claims.ContainsKey(claim.Type))
+ if (string.IsNullOrWhiteSpace(claim.Type) || string.IsNullOrWhiteSpace(claim.Value))
+ {
+ continue;
+ }
+
+ if (context.Claims.TryGetValue(claim.Type, out var existing))
+ {
+ context.Claims[claim.Type] = string.IsNullOrWhiteSpace(existing)
+ ? claim.Value
+ : string.Concat(existing, ";", claim.Value);
+ }
+ else
{
context.Claims[claim.Type] = claim.Value;
}
diff --git a/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/DependencyInjectionExtensions.cs b/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/DependencyInjectionExtensions.cs
index a65b5f8..7bbc4fe 100644
--- a/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/DependencyInjectionExtensions.cs
+++ b/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/DependencyInjectionExtensions.cs
@@ -24,7 +24,10 @@ public static class DependencyInjectionExtensions
/// Service collection.
/// Optional callback to configure .
/// Optional callback to configure .
- /// Whether to add the multitenancy middleware automatically.
+ ///
+ /// Whether to add the multitenancy middleware automatically. Use only for host/header resolution.
+ /// Route/claim resolution requires manual ordering after routing/authentication.
+ ///
public static IServiceCollection AddCleanArchitectureMultitenancyAspNetCore(
this IServiceCollection services,
Action? configureCore = null,
diff --git a/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/Filters/TenantRequirementResolver.cs b/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/Filters/TenantRequirementResolver.cs
index da77358..1396034 100644
--- a/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/Filters/TenantRequirementResolver.cs
+++ b/src/CleanArchitecture.Extensions.Multitenancy.AspNetCore/Filters/TenantRequirementResolver.cs
@@ -9,18 +9,27 @@ public static TenantRequirementMode Resolve(IEnumerable