From 5b3cd5589d7d14330a2960b0de6a82981314ca3a Mon Sep 17 00:00:00 2001 From: Sergio Matias Urquin Date: Mon, 12 May 2025 20:49:56 -0600 Subject: [PATCH] remove modules claim and change return value in GenerateAccessToken --- Core.Cerberos.Adapters/Adapters/TokenAdapter.cs | 2 +- Core.Cerberos.Adapters/Contracts/ITokenService.cs | 2 +- Core.Cerberos.Adapters/Services/TokenService.cs | 7 ++----- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/Core.Cerberos.Adapters/Adapters/TokenAdapter.cs b/Core.Cerberos.Adapters/Adapters/TokenAdapter.cs index 4eebf73..a29b122 100644 --- a/Core.Cerberos.Adapters/Adapters/TokenAdapter.cs +++ b/Core.Cerberos.Adapters/Adapters/TokenAdapter.cs @@ -13,6 +13,6 @@ namespace Core.Cerberos.Adapters public RoleAdapter? Role { get; set; } public IEnumerable? Permissions { get; set; } - public IEnumerable? Modules { get; set; } + public IEnumerable Modules { get; set; } = null!; } } diff --git a/Core.Cerberos.Adapters/Contracts/ITokenService.cs b/Core.Cerberos.Adapters/Contracts/ITokenService.cs index c3fbea0..267bfef 100644 --- a/Core.Cerberos.Adapters/Contracts/ITokenService.cs +++ b/Core.Cerberos.Adapters/Contracts/ITokenService.cs @@ -17,7 +17,7 @@ namespace Core.Cerberos.Adapters.Contracts /// /// Refreshes the access token. /// - string GenerateAccessToken(TokenAdapter adapter); + (string, IEnumerable) GenerateAccessToken(TokenAdapter adapter); /// /// Refreshes the access token. diff --git a/Core.Cerberos.Adapters/Services/TokenService.cs b/Core.Cerberos.Adapters/Services/TokenService.cs index 1f62e9f..307f7ae 100644 --- a/Core.Cerberos.Adapters/Services/TokenService.cs +++ b/Core.Cerberos.Adapters/Services/TokenService.cs @@ -74,7 +74,7 @@ namespace Core.Cerberos.Adapters.Services /// /// The user data. /// The user DTO with the generated token. - public string GenerateAccessToken(TokenAdapter adapter) + public (string, IEnumerable) 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 ValidateTokenExpiration(string tokenExpiration)