Add tenant property to user

This commit is contained in:
2025-08-08 23:05:27 -06:00
parent 035da054d6
commit 7bbb8ebfe5
4 changed files with 22 additions and 1 deletions

View File

@@ -11,6 +11,7 @@ namespace Core.Thalos.BuildingBlocks
public UserAdapter? User { get; set; } public UserAdapter? User { get; set; }
public RoleAdapter? Role { get; set; } public RoleAdapter? Role { get; set; }
public TenantAdapter? Tenant { get; set; }
public IEnumerable<PermissionAdapter>? Permissions { get; set; } public IEnumerable<PermissionAdapter>? Permissions { get; set; }
public IEnumerable<ModuleAdapter> Modules { get; set; } = null!; public IEnumerable<ModuleAdapter> Modules { get; set; } = null!;

View File

@@ -64,6 +64,14 @@ namespace Core.Thalos.BuildingBlocks
[JsonPropertyName("displayName")] [JsonPropertyName("displayName")]
public string? DisplayName { get; set; } public string? DisplayName { get; set; }
/// <summary>
/// Gets or sets the Tenand ID of the user.
/// </summary>
[BsonElement("tenantId")]
[BsonRepresentation(BsonType.ObjectId)]
[JsonPropertyName("tenantId")]
public string TenantId { get; set; } = null!;
/// <summary> /// <summary>
/// Gets or sets the role ID of the user. /// Gets or sets the role ID of the user.
/// </summary> /// </summary>

View File

@@ -26,7 +26,17 @@ namespace Core.Thalos.BuildingBlocks
public const string Id = "id"; public const string Id = "id";
/// <summary> /// <summary>
/// Claim name for user's role ID. /// Claim name for user's tenant name.
/// </summary>
public const string Tenant = "tenant";
/// <summary>
/// Claim name for user's tenant identifier.
/// </summary>
public const string TenantId = "tenantId";
/// <summary>
/// Claim name for user's role name.
/// </summary> /// </summary>
public const string Role = "role"; public const string Role = "role";

View File

@@ -89,6 +89,8 @@ namespace Core.Thalos.BuildingBlocks
new Claim(Claims.Name, adapter?.User?.DisplayName ?? string.Empty), new Claim(Claims.Name, adapter?.User?.DisplayName ?? string.Empty),
new Claim(Claims.GUID, adapter?.User?.Guid ?? string.Empty), new Claim(Claims.GUID, adapter?.User?.Guid ?? string.Empty),
new Claim(Claims.Email, adapter?.User?.Email ?? string.Empty), new Claim(Claims.Email, adapter?.User?.Email ?? string.Empty),
new Claim(Claims.Tenant, adapter?.Tenant?.Name ?? string.Empty),
new Claim(Claims.Tenant, adapter?.Tenant?.Id ?? string.Empty),
new Claim(Claims.Role, adapter?.Role?.Name ?? string.Empty), new Claim(Claims.Role, adapter?.Role?.Name ?? string.Empty),
new Claim(Claims.RoleId, adapter?.Role?.Id ?? string.Empty), new Claim(Claims.RoleId, adapter?.Role?.Id ?? string.Empty),
new Claim(Claims.Applications, JsonSerializer.Serialize(adapter?.Role?.Applications), JsonClaimValueTypes.JsonArray), new Claim(Claims.Applications, JsonSerializer.Serialize(adapter?.Role?.Applications), JsonClaimValueTypes.JsonArray),