using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.Options; using NexusReader.Domain.Entities; namespace NexusReader.Web.Services; public class CustomUserClaimsPrincipalFactory : UserClaimsPrincipalFactory { public CustomUserClaimsPrincipalFactory( UserManager userManager, RoleManager roleManager, IOptions optionsAccessor) : base(userManager, roleManager, optionsAccessor) { } protected override async Task GenerateClaimsAsync(NexusUser user) { var identity = await base.GenerateClaimsAsync(user); if (!string.IsNullOrEmpty(user.TenantId)) { identity.AddClaim(new Claim("TenantId", user.TenantId)); } return identity; } }