namespace Deal.Api.Configuration; /// /// Настройки rate limiting и защиты входа /// public sealed class RateLimitOptions { /// /// Включены ли rate limiting и LoginAttemptGuard. /// public bool Enabled { get; set; } /// /// Лимит политики "auth" /// public int AuthPerMinute { get; set; } = 10; /// /// Лимит политики "api" /// public int ApiPerMinute { get; set; } = 600; /// /// Лимит gRPC-ингресса /// public int GrpcIngressPerMinute { get; set; } = 600; /// /// Порог неудачных попыток входа ключа ip|login до блокировки /// public int LoginAttemptsMax { get; set; } = 5; /// /// Окно учёта неудачных попыток входа в минутах /// public int LoginAttemptWindowMin { get; set; } = 15; }