@@ -111,18 +111,22 @@ type JWTConfiguration struct {
111111}
112112
113113type MFAFactorTypeConfiguration struct {
114+ EnrollEnabled bool `json:"enroll_enabled" split_words:"true" default:"false"`
115+ VerifyEnabled bool `json:"verify_enabled" split_words:"true" default:"false"`
116+ }
117+
118+ type TOTPFactorTypeConfiguration struct {
114119 EnrollEnabled bool `json:"enroll_enabled" split_words:"true" default:"true"`
115120 VerifyEnabled bool `json:"verify_enabled" split_words:"true" default:"true"`
116121}
117122
118123type PhoneFactorTypeConfiguration struct {
119124 // Default to false in order to ensure Phone MFA is opt-in
120- EnrollEnabled bool `json:"enroll_enabled" split_words:"true" default:"false"`
121- VerifyEnabled bool `json:"verify_enabled" split_words:"true" default:"false"`
122- OtpLength int `json:"otp_length" split_words:"true"`
123- SMSTemplate * template.Template `json:"-"`
124- MaxFrequency time.Duration `json:"max_frequency" split_words:"true"`
125- Template string `json:"template"`
125+ MFAFactorTypeConfiguration
126+ OtpLength int `json:"otp_length" split_words:"true"`
127+ SMSTemplate * template.Template `json:"-"`
128+ MaxFrequency time.Duration `json:"max_frequency" split_words:"true"`
129+ Template string `json:"template"`
126130}
127131
128132// MFAConfiguration holds all the MFA related Configuration
@@ -133,7 +137,8 @@ type MFAConfiguration struct {
133137 MaxEnrolledFactors float64 `split_words:"true" default:"10"`
134138 MaxVerifiedFactors int `split_words:"true" default:"10"`
135139 Phone PhoneFactorTypeConfiguration `split_words:"true"`
136- TOTP MFAFactorTypeConfiguration `split_words:"true"`
140+ TOTP TOTPFactorTypeConfiguration `split_words:"true"`
141+ WebAuthn MFAFactorTypeConfiguration `split_words:"true"`
137142}
138143
139144type APIConfiguration struct {
0 commit comments