leptos_sync_core/security/authentication/
config.rs

1//! Authentication configuration
2
3use chrono::Duration;
4use serde::{Deserialize, Serialize};
5
6/// Authentication configuration
7#[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}