SuperAPI AI 工具集

best-practices

编程与开发

查看项目

更新于 10-16 00:30

技能介绍

用途:指导在项目中集成 Better Auth,这是一套 TypeScript 优先、框架无关的认证框架,支持邮箱密码、OAuth、magic link、passkey 等,更多能力通过插件扩展。资料建议始终查阅 better-auth.com/docs 获取代码示例与最新 API。

主要能力与配置:环境变量 BETTER_AUTH_SECRET(加密密钥,至少 32 位,可用 openssl rand -base64 32 生成)与 BETTER_AUTH_URL;仅在未设置环境变量时才在配置中写 baseURL/secret。核心配置项包括 appName、basePath(默认 /api/auth)、database、secondaryStorage、emailAndPassword、socialProviders、plugins、trustedOrigins。数据库可传连接池实例,或从 better-auth/adapters/drizzle、prisma、mongodb 导入适配器;注意配置使用适配器模型名而非底层表名。

会话与安全:定义 secondaryStorage 时会话默认存入其中,可用 session.storeSessionInDatabase 同时持久化;无数据库加 cookieCache 可进入无状态模式。cookie 缓存策略有 compact、jwt、jwe。安全项含 useSecureCookies、crossSubDomainCookies、限流 rateLimit 等,disableCSRFCheck 与 disableOriginCheck 存在安全风险。

用法:auth.ts 会被 CLI 在 ./、./lib、./utils 或 ./src 下查找,可用 --config 指定路径。CLI 命令:npx @better-auth/cli@latest migrate 应用内置适配器 schema;npx @better-auth/cli@latest generate 为 Prisma/Drizzle 生成 schema;npx @better-auth/cli mcp --cursor 为 AI 工具添加 MCP。新增或修改插件后需重新运行 CLI。插件应从专用路径导入,如 better-auth/plugins/two-factor。

客户端与限制:客户端可从 better-auth/client、react、vue、svelte、solid 导入,主要方法有 signUp.email、signIn.email、signIn.social、signOut、useSession 等。类型可通过 typeof auth.$Infer.Session 推断。资料未提供收费、价格与性能等事实。