用途:帮助在项目中接入并配置 Better Auth,覆盖服务端与客户端、数据库适配器、会话、插件和环境变量。官方要求始终查阅 better-auth.com/docs 获取代码示例与最新 API。
安装与初始化:执行 npm install better-auth;设置 BETTER_AUTH_SECRET(至少 32 字符,可用 openssl rand -base64 32 生成)和 BETTER_AUTH_URL;创建 auth.ts 写入数据库与配置;为所用框架创建路由处理器;运行 npx @better-auth/cli@latest migrate;验证 GET /api/auth/ok 应返回 { status: "ok" }。CLI 会在 ./、./lib、./utils 或 ./src 下查找 auth.ts,可用 --config 指定路径。
主要能力:核心配置含 appName、baseURL、basePath(默认 /api/auth)、secret、database、secondaryStorage、emailAndPassword、socialProviders、plugins、trustedOrigins。数据库支持直连(pg.Pool、mysql2、better-sqlite3、bun:sqlite)与 ORM 适配器(drizzle、prisma、mongodb)。会话存储优先 secondaryStorage,可用 session.storeSessionInDatabase 同时落库,cookieCache 支持 compact、jwt、jwe。常用插件有 twoFactor、organization、passkey、magicLink、emailOtp、username、phoneNumber、admin、apiKey、bearer、jwt、multiSession、sso、oauthProvider、oidcProvider、openAPI、genericOAuth。客户端从 better-auth/client、react、vue、svelte、solid 导入,方法含 signUp.email()、signIn.email()、signIn.social()、signOut()、useSession()、getSession()、revokeSession()。类型可用 typeof auth.$Infer.Session。
限制与注意:配置使用适配器模型名而非底层表名;新增或变更插件后需重跑 CLI;使用 secondaryStorage 时会话默认不入库;cookie 缓存不包含自定义会话字段;无数据库时为无状态模式,缓存过期即登出;修改邮箱先发往当前邮箱再发新邮箱。开启 disableCSRFCheck 或 disableOriginCheck 存在安全风险。其余收费、平台与效果信息暂未提供。