renamed and optimised

master
Young 7 months ago
parent 88174fda38
commit 3c739b6e42

@ -14,7 +14,7 @@ public interface ITokenBuilder
void SetUserContext(TokenValidatedContext context);
TokenInfo GenerateJwtTokenInfo(IReadOnlyCollection<Claim> claims);
JwtTokenInfo GenerateJwtTokenInfo(IReadOnlyCollection<Claim> claims);
}
public class TokenBuilder(
@ -46,16 +46,16 @@ public class TokenBuilder(
throw new NullReferenceException(nameof(IUserContext));
var principal = context.Principal ?? throw new NullReferenceException(nameof(context.Principal));
userContext.Id = long.Parse(
principal.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.NameId)?.Value);
principal.Claims.First(c => c.Type == JwtRegisteredClaimNames.NameId).Value);
userContext.Username =
principal.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.UniqueName)?.Value!;
userContext.Name = principal.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.Name)?.Value!;
userContext.Email = principal.Claims.FirstOrDefault(c => c.Type == JwtRegisteredClaimNames.Email)?.Value!;
principal.Claims.First(c => c.Type == JwtRegisteredClaimNames.UniqueName).Value;
userContext.Name = principal.Claims.First(c => c.Type == JwtRegisteredClaimNames.Name).Value;
userContext.Email = principal.Claims.First(c => c.Type == JwtRegisteredClaimNames.Email).Value;
userContext.RoleIds = principal.Claims.Where(c => c.Type == ClaimTypes.Role).Select(c => c.Value).ToArray();
userContext.RemoteIpAddress = context.HttpContext.GetRequestIp();
userContext.RemoteIpAddress = context.HttpContext.GetRequestIp()!;
}
public TokenInfo GenerateJwtTokenInfo(IReadOnlyCollection<Claim> claims)
public JwtTokenInfo GenerateJwtTokenInfo(IReadOnlyCollection<Claim> claims)
{
var jwtToken = new JwtSecurityToken(
issuer: jwtOptions.Issuer,
@ -65,7 +65,7 @@ public class TokenBuilder(
expires: DateTime.Now.AddSeconds(jwtOptions.Expiration),
signingCredentials: jwtOptions.SigningCredentials);
var token = jwtSecurityTokenHandler.WriteToken(jwtToken);
return new TokenInfo(encryptionService.Encrypt(token), jwtOptions.Expiration,
return new JwtTokenInfo(encryptionService.Encrypt(token), jwtOptions.Expiration,
JwtBearerDefaults.AuthenticationScheme);
}
}

@ -1,6 +1,6 @@
namespace Infrastructure.Security;
public class TokenInfo(string token, double expiredIn, string tokenType)
public class JwtTokenInfo(string token, double expiredIn, string tokenType)
{
public string? Token { get; } = token;
Loading…
Cancel
Save