leptos_sync_core/security/authentication/
config.rs1use chrono::Duration;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct AuthConfig {
9 pub session_timeout: Duration,
10 pub max_failed_attempts: u32,
11 pub lockout_duration: Duration,
12 pub password_min_length: usize,
13 pub require_uppercase: bool,
14 pub require_lowercase: bool,
15 pub require_numbers: bool,
16 pub require_special_chars: bool,
17 pub mfa_required: bool,
18}
19
20impl Default for AuthConfig {
21 fn default() -> Self {
22 Self {
23 session_timeout: Duration::hours(24),
24 max_failed_attempts: 5,
25 lockout_duration: Duration::minutes(30),
26 password_min_length: 8,
27 require_uppercase: true,
28 require_lowercase: true,
29 require_numbers: true,
30 require_special_chars: true,
31 mfa_required: false,
32 }
33 }
34}