[session]
max_concurrent_sessions = 5
cleanup_interval = 3600
enable_device_tracking = true
idle_timeout = "2h"
absolute_timeout = "12h"
remember_me_timeout = "30d"
[session.cookie]
name = "auth_session"
path = "/"
max_age = 86400
http_only = true
secure = true
same_site = "Lax"
[session.security]
enable_csrf_tokens = true
csrf_token_lifetime = "1h"
enable_session_rotation = true
require_fresh_login_for = ["password_change", "email_change", "mfa_settings"]
[session.storage]
type = "redis"
redis_prefix = "session:"
redis_pool_size = 10
redis_timeout = "5s"
[session.activity_tracking]
enabled = true
track_ip_changes = true
track_user_agent_changes = true
alert_on_suspicious_activity = true
max_failed_attempts = 3
lockout_duration = "15m"
track_geolocation = true
alert_on_impossible_travel = true
max_travel_speed_kmh = 1000
[session.cleanup]
enabled = true
cleanup_interval = "1h"
remove_expired_after = "7d"
batch_size = 1000