using Deal.Modules.Tenants.Application.Services; namespace Deal.Api.Configuration; /// /// Настройки httpOnly-куки сессии оператора. Привязываются из секции "OperatorCookies" конфигурации (IOptions). /// /// /// Источник значений — конфигурация: секция OperatorCookies в appsettings.json и переменные /// окружения OperatorCookies__* (имя, срок, Secure). Имя по умолчанию — deal_operator_session: /// отдельная от тенантной deal_session кука (Ruling 1 этапа 7) — операторская сессия не может быть /// подменена тенантной и наоборот (сессии разрешаются разными middleware). /// /// Срок жизни по умолчанию — единый источник числа «12 часов»: константа модуля /// , на которую ссылается код-дефолт свойства /// . Значение из конфигурации (OperatorCookies__Hours) при необходимости перекрывает его. /// /// public sealed class OperatorCookieOptions { /// /// Имя куки (Ruling 1: deal_operator_session). /// public string Name { get; set; } = "deal_operator_session"; /// /// Срок жизни куки в часах; совпадает со сроком жизни сессии оператора (Ruling 1: 12). /// public int Hours { get; set; } = OperatorAuthService.SessionLifetimeHours; /// /// Флаг Secure куки (dev=false; включается при HTTPS-проксировании, Ruling 1). /// public bool Secure { get; set; } }