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)