public List <string> IsTokenValid(string token, TokenKeyBuilder keyBuilder) { var key = keyBuilder.BuildKey(); var handler = new JwtSecurityTokenHandler(); var validations = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = key, ValidateIssuer = false, ValidateAudience = false }; return(TokenDecodeExceptionHandler.HandleJwtDecode(() => { handler.ValidateToken(token, validations, out var securityToken); })); }
public string GiveToken(DateTime expirationDate, TokenKeyBuilder keyBuilder, List <Claim> claims) { var securityKey = keyBuilder.BuildKey(); var creds = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256); var tokenDescriptor = new SecurityTokenDescriptor { Expires = expirationDate, NotBefore = DateTime.Now, IssuedAt = DateTime.Now, SigningCredentials = creds, Subject = new ClaimsIdentity(claims) }; var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(tokenDescriptor); return(tokenHandler.WriteToken(token)); }