/
AMachine
/
MMDB_Backend
Обзор
Документация
Войти
/
AMachine
/
MMDB_Backend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
MMDB.Infrastructure/JwtProvider.cs
34 строки
1012 B
AssaultMachine
init
04 май 2025, 20:49
04 май 2025, 20:49
5d371a1
Код
Авторство
О чём код?
using System.IdentityModel.Tokens.Jwt; using System.Security.Claims; using System.Text; using Microsoft.IdentityModel.Tokens; using Microsoft.Extensions.Options; using MMDB.Core.Models; using MMDB.Core.Abstract.Infrastructure; namespace MMDB.Infrastructure; public class JwtProvider(IOptions<JwtOptions> options) : IJwtProvider { private readonly JwtOptions _jwtOptions = options.Value; public string GenerateToken(User user) { Claim[] claims = [ new("userId", user.Id.ToString()) ]; var signingCredentials = new SigningCredentials( new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtOptions.SecretKey)), SecurityAlgorithms.HmacSha256 ); var token = new JwtSecurityToken( claims: claims, signingCredentials: signingCredentials, expires: DateTime.UtcNow.AddHours(_jwtOptions.ExpiresHours) ); return new JwtSecurityTokenHandler().WriteToken(token); } }