Files
PIBD-23_Coursework_Bank/TheBank/BankWebApi/Infrastructure/JwtProvider.cs

22 lines
730 B
C#

using BankContracts.DataModels;
using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
namespace BankWebApi.Infrastructure;
public class JwtProvider : IJwtProvider
{
public string GenerateToken(StorekeeperDataModel dataModel)
{
var token = new JwtSecurityToken(
issuer: AuthOptions.ISSUER,
audience: AuthOptions.AUDIENCE,
claims: [new("id", dataModel.Id)],
expires: DateTime.UtcNow.Add(TimeSpan.FromDays(2)),
signingCredentials: new SigningCredentials(AuthOptions.GetSymmetricSecurityKey(), SecurityAlgorithms.HmacSha256));
return new JwtSecurityTokenHandler().WriteToken(token);
}
}