配置选项
配置Better Auth的所有可用选项列表。参见Better Auth选项。
appName
应用程序的名称。
baseURL
Better Auth的基础URL。这通常是托管应用程序服务器的根URL。
如果未明确设置,系统将检查环境变量process.env.BETTER_AUTH_URL
basePath
Better Auth的基础路径。这通常是挂载Better Auth路由的路径。
默认值:/api/auth
secret
用于加密、签名和哈希的密钥。
默认情况下,Better Auth将查找以下环境变量:
process.env.BETTER_AUTH_SECRETprocess.env.AUTH_SECRET
如果这些环境变量都未设置,它将默认为"better-auth-secret-123456789"。在生产环境中,如果未设置,将抛出错误。
您可以使用以下命令生成一个好的密钥:
database
Better Auth的数据库配置。
Better Auth支持各种数据库配置,包括PostgreSQL、MySQL和SQLite。
在此处阅读更多关于数据库的信息。
secondaryStorage
用于存储会话和速率限制数据的辅助存储配置。
在此处阅读更多关于辅助存储的信息。
emailVerification
电子邮件验证配置。
sendVerificationEmail:发送验证邮件的函数sendOnSignUp:注册后自动发送验证邮件(默认:false)autoSignInAfterVerification:用户验证邮件后自动登录expiresIn:验证令牌有效的秒数(默认:3600秒)
emailAndPassword
电子邮件和密码认证配置。
enabled:启用电子邮件和密码认证(默认:false)disableSignUp:禁用电子邮件和密码注册(默认:false)requireEmailVerification:在创建会话前要求电子邮件验证minPasswordLength:最小密码长度(默认:8)maxPasswordLength:最大密码长度(默认:128)autoSignIn:注册后自动登录用户sendResetPassword:发送重置密码邮件的函数resetPasswordTokenExpiresIn:重置密码令牌有效的秒数(默认:3600秒)password:自定义密码哈希和验证函数
socialProviders
配置社交登录提供商。
plugins
Better Auth插件列表。
user
用户配置选项。
modelName:用户的模型名称(默认:"user")fields:将字段映射到不同的列名additionalFields:用户表的附加字段changeEmail:更改电子邮件的配置deleteUser:用户删除的配置
session
会话配置选项。
modelName:会话的模型名称(默认:"session")fields:将字段映射到不同的列名expiresIn:会话令牌的过期时间(秒)(默认:604800- 7天)updateAge:会话应该多久刷新一次(秒)(默认:86400- 1天)additionalFields:会话表的附加字段storeSessionInDatabase:当提供辅助存储时,在数据库中存储会话(默认:false)preserveSessionInDatabase:当从辅助存储中删除时,保留数据库中的会话记录(默认:false)cookieCache:启用在cookie中缓存会话
account
账户配置选项。
modelName:账户的模型名称fields:将字段映射到不同的列名
accountLinking
账户链接的配置。
enabled:启用账户链接(默认:false)trustedProviders:受信任提供商列表allowDifferentEmails:允许用户链接具有不同电子邮件地址的账户allowUnlinkingAll:允许用户取消链接所有账户
verification
验证配置选项。
modelName:验证表的模型名称fields:将字段映射到不同的列名disableCleanup:在获取验证值时禁用清理过期值
rateLimit
速率限制配置。
enabled:启用速率限制(默认:生产环境为true,开发环境为false)window:用于速率限制的时间窗口。值应为秒。(默认:10)max:窗口内允许的最大请求数。(默认:100)customRules:应用于特定路径的自定义速率限制规则。storage:存储配置。如果您传递了辅助存储,速率限制将存储在辅助存储中。(选项:"memory", "database", "secondary-storage",默认:"memory")modelName:如果使用数据库作为存储,用于速率限制的表名。(默认:"rateLimit")
advanced
高级配置选项。
ipAddress:用于速率限制和会话跟踪的IP地址配置useSecureCookies:使用安全cookie(默认:false)disableCSRFCheck:禁用受信任来源检查(⚠️ 安全风险)crossSubDomainCookies:配置cookie在子域之间共享cookies:自定义cookie名称和属性defaultCookieAttributes:所有cookie的默认属性cookiePrefix:cookie前缀generateId:为模型生成唯一ID的函数
databaseHooks
核心操作的数据库生命周期钩子。
onAPIError
API错误处理配置。
throw:在API错误时抛出错误(默认:false)onError:自定义错误处理程序errorURL:错误时重定向的URL(默认:/api/auth/error)
hooks
请求生命周期钩子。
disabledPaths
禁用特定的认证路径。