配置选项
配置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_SECRET
process.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
禁用特定的认证路径。