namespace Tiku.Application.Auth; public sealed class SmsSecurityOptions { public const string SectionName = "Authentication:Sms"; public string CodePepper { get; set; } = string.Empty; public int MaxVerificationAttempts { get; set; } = 5; public int TenantRequestsPerHour { get; set; } = 100; public int PhoneRequestsPerHour { get; set; } = 5; public int IpRequestsPerHour { get; set; } = 20; public int DeviceRequestsPerHour { get; set; } = 10; public static bool BeValid(SmsSecurityOptions options) { return options.CodePepper.Length >= 32 && options.MaxVerificationAttempts == 5 && options.TenantRequestsPerHour > 0 && options.PhoneRequestsPerHour > 0 && options.IpRequestsPerHour > 0 && options.DeviceRequestsPerHour > 0; } }