/
bazhinilya
/
net-simple-jwt
Обзор
Документация
Войти
/
bazhinilya
/
net-simple-jwt
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
Services/TokenService.cs
43 строки
1 KB
bazhinilya
Initial commit
16 июн 2026, 23:19
16 июн 2026, 23:19
afe56b6
Код
Авторство
О чём код?
using net_simple_jwt.Entities; namespace net_simple_jwt.Services; public class TokenService( string _key, string _issuer, string _audience, int _expiryMinutes = 15 ) : ITokenService { public string GenerateAccessToken(User user) { var claims = new[] { new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()), new Claim(ClaimTypes.Email, user.Email), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim("email_confirmed", user.IsEmailConfirmed.ToString()) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_key)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: _issuer, audience: _audience, claims: claims, expires: DateTime.UtcNow.AddMinutes(_expiryMinutes), signingCredentials: creds ); return new JwtSecurityTokenHandler().WriteToken(token); } public string GenerateRefreshToken() { var randomNumber = new byte[64]; using var rng = RandomNumberGenerator.Create(); rng.GetBytes(randomNumber); return Convert.ToBase64String(randomNumber); } }