remove modules claim and change return value in GenerateAccessToken

This commit is contained in:
Sergio Matias Urquin
2025-05-12 20:49:56 -06:00
parent 042588097e
commit 5b3cd5589d
3 changed files with 4 additions and 7 deletions

View File

@@ -13,6 +13,6 @@ namespace Core.Cerberos.Adapters
public RoleAdapter? Role { get; set; }
public IEnumerable<PermissionAdapter>? Permissions { get; set; }
public IEnumerable<ModuleAdapter>? Modules { get; set; }
public IEnumerable<ModuleAdapter> Modules { get; set; } = null!;
}
}

View File

@@ -17,7 +17,7 @@ namespace Core.Cerberos.Adapters.Contracts
/// <summary>
/// Refreshes the access token.
/// </summary>
string GenerateAccessToken(TokenAdapter adapter);
(string, IEnumerable<ModuleAdapter>) GenerateAccessToken(TokenAdapter adapter);
/// <summary>
/// Refreshes the access token.

View File

@@ -74,7 +74,7 @@ namespace Core.Cerberos.Adapters.Services
/// </summary>
/// <param name="user">The user data.</param>
/// <returns>The user DTO with the generated token.</returns>
public string GenerateAccessToken(TokenAdapter adapter)
public (string, IEnumerable<ModuleAdapter>) GenerateAccessToken(TokenAdapter adapter)
{
@@ -95,9 +95,6 @@ namespace Core.Cerberos.Adapters.Services
new Claim(Claims.Role, adapter?.Role?.Name ?? 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.Modules, JsonSerializer.Serialize(adapter?.Modules?.Select(m => new { m.Name, m.Application, m.Route, m.Icon, m.Order }), jsonOptions), JsonClaimValueTypes.JsonArray),
new Claim(Claims.Companies, JsonSerializer.Serialize(adapter?.User?.Companies), JsonClaimValueTypes.JsonArray),
new Claim(Claims.Projects, JsonSerializer.Serialize(adapter?.User?.Projects), JsonClaimValueTypes.JsonArray),
new Claim(Claims.Permissions, JsonSerializer.Serialize(adapter?.Permissions?.Select(p => $"{p.Name}.{p.AccessLevel}".Replace(" ", "")).ToArray()), JsonClaimValueTypes.JsonArray),
}),
@@ -109,7 +106,7 @@ namespace Core.Cerberos.Adapters.Services
var token = tokenHandler.CreateEncodedJwt(tokenDescriptor);
return token;
return (token, adapter.Modules);
}
public ActionResult<TimeSpan> ValidateTokenExpiration(string tokenExpiration)