Better Auth RS

Configuration Options

Complete reference for all configuration fields and defaults.

AuthConfig

FieldTypeDefaultDescription
secretString(required)Signing secret, minimum 32 characters
base_urlString"http://localhost:3000"Application base URL
sessionSessionConfigSee belowSession settings
jwtJwtConfigSee belowJWT settings
passwordPasswordConfigSee belowPassword policy

SessionConfig

FieldTypeDefaultDescription
expires_inDuration7 daysSession token lifetime
update_agebooltrueUpdate session expiry on access
cookie_nameString"better-auth.session-token"Session cookie name
cookie_securebooltrueSecure cookie flag
cookie_http_onlybooltrueHttpOnly cookie flag
cookie_same_siteSameSiteLaxSameSite cookie policy

JwtConfig

FieldTypeDefaultDescription
expires_inDuration1 dayJWT token lifetime
algorithmString"HS256"Signing algorithm
issuerOption<String>NoneJWT iss claim
audienceOption<String>NoneJWT aud claim

PasswordConfig

FieldTypeDefaultDescription
min_lengthusize8Minimum password length
require_uppercaseboolfalseRequire uppercase letter
require_lowercaseboolfalseRequire lowercase letter
require_numbersboolfalseRequire digit
require_specialboolfalseRequire special character

Argon2Config

FieldTypeDefaultDescription
memory_costu324096Memory usage in KiB
time_costu323Number of iterations
parallelismu321Degree of parallelism

CsrfConfig

FieldTypeDefaultDescription
trusted_originsVec<String>[]Additional trusted origins
enabledbooltrueEnable CSRF checks

RateLimitConfig

FieldTypeDefaultDescription
windowDuration60sDefault time window
max_requestsu32100Default max requests per window
per_endpointHashMap{}Per-endpoint overrides
enabledbooltrueEnable rate limiting

CorsConfig

FieldTypeDefaultDescription
allowed_originsVec<String>[]Allowed origins
allowed_methodsVec<String>GET, POST, PUT, DELETE, PATCH, OPTIONSAllowed HTTP methods
allowed_headersVec<String>Content-Type, Authorization, X-Requested-WithAllowed headers
exposed_headersVec<String>[]Headers exposed to clients
allow_credentialsbooltrueAllow credentials
max_ageu6486400Preflight cache duration (seconds)
enabledbooltrueEnable CORS

BodyLimitConfig

FieldTypeDefaultDescription
max_bytesusize1,048,576Maximum body size in bytes (1 MB)
enabledbooltrueEnable body limit

PoolConfig (PostgreSQL)

FieldTypeDefaultDescription
max_connectionsu3210Maximum pool size
min_connectionsu320Minimum idle connections
acquire_timeoutDuration30sConnection acquire timeout
idle_timeoutOption<Duration>600sIdle connection timeout
max_lifetimeOption<Duration>1800sMaximum connection lifetime

Plugin Configs

EmailPasswordConfig

FieldTypeDefaultDescription
enable_signupbooltrueAllow new registrations
require_email_verificationboolfalseRequire verified email for sign-in
password_min_lengthusize8Minimum password length

SessionManagementConfig

FieldTypeDefaultDescription
enable_session_listingbooltrueAllow listing sessions
enable_session_revocationbooltrueAllow revoking sessions
require_authenticationbooltrueRequire auth for endpoints

PasswordManagementConfig

FieldTypeDefaultDescription
reset_token_expiry_hoursi6424Reset token validity
require_current_passwordbooltrueRequire current password for changes
send_email_notificationsbooltrueNotify on password changes

EmailVerificationConfig

FieldTypeDefaultDescription
verification_token_expiry_hoursi6424Token validity
send_email_notificationsbooltrueSend verification emails
require_verification_for_signinboolfalseBlock unverified sign-in
auto_verify_new_usersboolfalseAuto-send on sign-up

On this page