SuperAPI AI 工具集

better-auth-best-practices

通用与其它

查看项目

更新于 10-15 23:48

技能介绍

用途:在 TypeScript 项目中配置 Better Auth 的服务端与客户端,包括环境变量、数据库适配器、CLI 迁移、会话与 Cookie 缓存策略、安全与限流选项,以及插件和对应客户端插件的接入与常见问题排查。

主要能力:提供安装与初始化流程(bun add better-auth;设置 BETTER_AUTH_SECRET 与 BETTER_AUTH_URL;创建 auth.ts;为框架创建路由处理器;运行 bun x @better-auth/cli@latest migrate;通过 GET /api/auth/ok 验证返回 { status: "ok" })。CLI 还支持 generate 生成 Prisma/Drizzle schema、mcp --cursor 接入 AI 工具,增删插件后需重跑。核心配置含 appName、baseURL、basePath、secret、database、secondaryStorage、emailAndPassword、socialProviders、plugins、trustedOrigins。数据库支持直连 pg.Pool、mysql2、better-sqlite3、bun:sqlite,或从 better-auth/adapters/drizzle、prisma、mongodb 导入 ORM 适配器;配置使用 ORM 模型名而非底层表名。会话存储优先 secondaryStorage,可设 session.storeSessionInDatabase 同时落库;无数据库加 cookieCache 为无状态模式。Cookie 缓存策略有 compact、jwt、jwe。安全项含 useSecureCookies、crossSubDomainCookies、ipAddressHeaders、generateId、rateLimit 等。插件从专用路径导入以利 tree-shaking,客户端插件放入 createAuthClient。客户端可从 better-auth/client、react、vue、svelte、solid 导入,方法含 signUp.email、signIn.email、signIn.social、signOut、useSession、getSession、revokeSession 等。类型可用 typeof auth.$Infer.Session 推断。

使用方式与限制:涉及 API 签名、适配器行为、生成 schema、插件选项、会话存储、Cookie 行为或安全默认值时,建议先向 DeepWiki 针对 better-auth/better-auth 提窄问题,再以本地已安装类型、源码或官方文档核实;稳定基础配置可跳过。始终查阅 better-auth.com/docs 获取代码示例与最新 API。生产环境不应禁用 CSRF 或来源检查,disableOriginCheck 也会削弱 CSRF 防护;baseURL 与 trustedOrigins 属安全敏感配置。若配置 secondaryStorage,会话默认不落库,除非开启 storeSessionInDatabase。自定义会话字段不会被 Cookie 缓存,需重新获取。修改邮箱流程先发往当前邮箱再发往新邮箱。资料未提供具体收费、价格与平台支持范围。