[methods.jwt]
default_algorithm = "HS256"
allow_algorithm_none = false
require_exp = true
require_iat = true
require_nbf = false
clock_skew_seconds = 300
validate_issuer = true
valid_issuers = ["auth-framework", "myapp"]
validate_audience = true
valid_audiences = ["api", "web", "mobile"]
[methods.jwt.custom_claims]
role = { required = false, values = ["user", "admin", "moderator"] }
permissions = { required = false, type = "array" }
tenant_id = { required = false, type = "string" }
[methods.jwt.signing_keys]
hmac_secret = "${JWT_SECRET}"
[methods.jwt.token_validation]
max_token_age = "24h"
allow_refresh_tokens = true
refresh_token_max_uses = 10
blacklist_check_enabled = true