SuperAPI AI 工具集

better-auth-best-practices

编程与开发

查看项目

更新于 10-15 18:37

技能介绍

用途:指导在项目中集成 Better Auth(TypeScript 优先、框架无关的认证框架),支持邮箱密码、OAuth、魔法链接、通行密钥等,扩展能力通过插件提供。使用前请查阅 better-auth.com/docs 获取最新代码示例与 API。

主要能力与配置:环境变量 BETTER_AUTH_SECRET(至少32字符,可用 openssl rand -base64 32 生成)与 BETTER_AUTH_URL;仅当未设置环境变量时才在配置里写 secret/baseURL。核心选项包括 appName、basePath(默认 /api/auth)、database、secondaryStorage、emailAndPassword、socialProviders、plugins、trustedOrigins。数据库既可直接传入 pg.Pool、mysql2、better-sqlite3、bun:sqlite,也可用 better-auth/adapters/drizzle、prisma、mongodb 适配器;注意使用 ORM 模型名而非底层表名。

使用方式:auth.ts 默认在 ./、./lib、./utils 或 ./src 下查找,可用 --config 指定路径。常用命令:npx @better-auth/cli@latest migrate、npx @better-auth/cli@latest generate,以及 npx @better-auth/cli mcp --cursor;新增或修改插件后需重新运行。客户端从 better-auth/client、react、vue、svelte、solid 导入,方法含 signUp.email、signIn.email、signIn.social、signOut、useSession 等。插件应从 better-auth/plugins/two-factor 这类子路径导入以支持 tree-shaking。

限制与注意:若使用 secondaryStorage,会话默认存于其中而非数据库;无数据库加 cookieCache 为无状态模式。自定义会话字段不会被 cookie 缓存,需重新获取。修改邮箱先发往当前邮箱再发往新邮箱。禁用 CSRF 或来源检查(disableCSRFCheck、disableOriginCheck)存在安全风险。其余细节以官方文档为准,资料未提供的内容暂未说明。