// EN: Two-factor authentication settings
// VI: Cấu hình xác thực hai yếu tố

namespace IamService.Infrastructure.TwoFactor;

/// <summary>
/// EN: Settings for two-factor authentication.
/// VI: Cấu hình cho xác thực hai yếu tố.
/// </summary>
public class TwoFactorSettings
{
    public const string SectionName = "TwoFactor";
    
    /// <summary>
    /// EN: Issuer name displayed in authenticator apps.
    /// VI: Tên issuer hiển thị trong ứng dụng authenticator.
    /// </summary>
    public string Issuer { get; set; } = "IAM Service";
    
    /// <summary>
    /// EN: Code length (default 6 digits).
    /// VI: Độ dài mã (mặc định 6 chữ số).
    /// </summary>
    public int CodeLength { get; set; } = 6;
    
    /// <summary>
    /// EN: Validity period in seconds (default 30s for TOTP).
    /// VI: Thời gian hiệu lực tính bằng giây (mặc định 30s cho TOTP).
    /// </summary>
    public int ValidityPeriodSeconds { get; set; } = 30;
}
