using System.IdentityModel.Tokens.Jwt; using System.Security.Claims; using System.Text; using AGSS.Models.Entities; using asg_form; using Microsoft.IdentityModel.Tokens; namespace AGSS.Utilities; public class Jwt { public string BuildToken(IEnumerable claims, JWTOptions options) { DateTime expires = DateTime.Now.AddSeconds(options.ExpireSeconds); byte[] keyBytes = Encoding.UTF8.GetBytes(options.SigningKey); var secKey = new SymmetricSecurityKey(keyBytes); var credentials = new SigningCredentials(secKey, SecurityAlgorithms.HmacSha256Signature); var tokenDescriptor = new JwtSecurityToken(expires: expires, signingCredentials: credentials, claims: claims); return new JwtSecurityTokenHandler().WriteToken(tokenDescriptor); } }