[auth]
token_lifetime = "1h"
refresh_token_lifetime = "7d"
enable_multi_factor = false
issuer = "auth-framework"
audience = "api"
[auth.storage]
type = "redis"
url = "redis://localhost:6379"
key_prefix = "auth:"
[auth.rate_limiting]
enabled = true
max_requests = 100
window = "1m"
burst = 10
[auth.security]
min_password_length = 8
require_password_complexity = true
password_hash_algorithm = "Argon2"
jwt_algorithm = "HS256"
secure_cookies = true
cookie_same_site = "Lax"
csrf_protection = true
session_timeout = "24h"
[auth.audit]
enabled = true
log_success = true
log_failures = true
log_permissions = true
log_tokens = false
[auth.audit.storage]
type = "tracing"
include_threat_intel = "config/threat-intel.toml"
include_session = "config/session.toml"
include_methods = "config/methods/*.toml"
[development]
enable_debug_logging = true
session_timeout = "24h"
csrf_protection = false
[production]
enable_debug_logging = false
session_timeout = "8h"
csrf_protection = true
secure_cookies = true
[custom]
app_name = "MyAuthApp"
version = "1.0.0"
features = ["oauth", "mfa", "audit"]
[custom.database]
connection_pool_size = 20
query_timeout = "30s"
migration_timeout = "5m"