SuperAPI AI 工具集

better-auth-best-practices

数据与分析

查看项目

更新于 10-15 21:38

技能介绍

用途:在 TypeScript 项目中配置 Better Auth 服务端与客户端,接入数据库适配器、会话、插件与环境变量,并排查常见模型、schema 与存储问题。

主要能力:安装 npm install better-auth;设置 BETTER_AUTH_SECRET(至少 32 字符,可用 openssl rand -base64 32 生成)与 BETTER_AUTH_URL;创建 auth.ts 配置数据库;为框架创建路由处理器;运行 npx @better-auth/cli@latest migrate 应用 schema,或 generate 为 Prisma/Drizzle 生成 schema;验证 GET /api/auth/ok 返回 { status: "ok" }。支持直接连接(pg.Pool、mysql2、better-sqlite3、bun:sqlite)与 ORM 适配器(better-auth/adapters/drizzle、prisma、mongodb)。会话存储优先 secondaryStorage,可设 storeSessionInDatabase 同时落库;cookieCache 策略有 compact、jwt、jwe。插件从专用路径导入以支持 tree-shaking,如 better-auth/plugins/two-factor,客户端插件放入 createAuthClient({ plugins: [...] })。客户端可从 better-auth/client、react、vue、svelte、solid 导入。

限制与注意:配置使用 ORM 模型名而非数据库表名;新增或修改插件后需重跑 CLI;启用 secondaryStorage 时会话默认不落库;cookie cache 不缓存自定义会话字段;无数据库时进入无状态模式,缓存过期即登出;changeEmail 与 deleteUser 默认关闭。涉及 API 签名、适配器行为、schema、插件选项、会话存储、cookie 与安全默认值时,建议先查官方文档与本地类型再改代码。