using Microsoft.IdentityModel.Tokens; using System.Text; namespace Tiku.Api.Options; public sealed class JwtOptions { public string Issuer { get; set; } = "tiku-backend"; public string Audience { get; set; } = "tiku-api"; public string SigningKey { get; set; } = "development-only-tiku-signing-key-change-before-production"; public int AccessTokenMinutes { get; set; } = 30; public int RefreshTokenDays { get; set; } = 30; public SymmetricSecurityKey CreateSecurityKey() { ArgumentException.ThrowIfNullOrWhiteSpace(SigningKey); return new SymmetricSecurityKey(Encoding.UTF8.GetBytes(SigningKey)); } }