using System.IdentityModel.Tokens.Jwt; using System.Security.Claims; using Microsoft.IdentityModel.Tokens; using SurveyBackend.Core.Models; namespace SurveyBackend.Services.Helpers; public class TokenHelper { public static string GetAuthToken(User user) { var userId = user.Id.ToString(); var claims = new List { new(ClaimTypes.NameIdentifier, userId) }; var jwt = new JwtSecurityToken( claims: claims, issuer: AuthOptions.Issuer, audience: AuthOptions.Audience, expires: DateTime.UtcNow + AuthOptions.TokenLifetime, signingCredentials: new SigningCredentials(AuthOptions.SymmetricSecurityKey, SecurityAlgorithms.HmacSha256) ); var token = new JwtSecurityTokenHandler().WriteToken(jwt); return token; } }