SuperAPI AI 工具集

better-auth

编程与开发

查看项目

更新于 10-16 01:29

技能介绍

用途:在 TypeScript/JavaScript 应用中实现认证与授权,适用于 Next.js、Nuxt、SvelteKit、Remix、Astro、Hono、Express 等框架。

主要能力:框架无关;内置邮箱密码与 OAuth 2.0 社交登录;插件生态可添加 2FA、Passkey、魔法链接、用户名、邮箱 OTP、组织等;支持 SQLite、PostgreSQL、MySQL、MongoDB;内置 Drizzle、Prisma、Kysely、MongoDB 适配器;完整 TypeScript 类型;客户端与服务端会话管理。架构为服务端实例 better-auth 处理逻辑与 API 路由,客户端实例 better-auth/client 提供钩子与方法。

使用方式:安装 npm install better-auth(或 pnpm add / yarn add / bun add better-auth)。创建 .env,设置 BETTER_AUTH_SECRET(至少 32 字符)和 BETTER_AUTH_URL。在根目录或 lib/、utils/ 等创建 auth.ts 导出 betterAuth 实例,配置 database、emailAndPassword、socialProviders。用 npx @better-auth/cli generate 生成数据库 schema,npx @better-auth/cli migrate 执行迁移(仅 Kysely 适配器)。在 /api/auth/* 挂载处理器,如 Next.js 用 toNextJsHandler,Express 用 toNodeHandler,Hono 用 auth.handler。创建客户端实例 createAuthClient。

限制与注意:资料未提供定价与收费信息。需自行生成密钥并妥善保管;生产环境建议使用 HTTPS、安全 Cookie、限流与邮箱验证;添加插件后需重新生成并执行迁移;部分插件有依赖顺序,需查阅官方文档。常见问题包括 auth 实例位置或导出方式不正确、数据库连接与适配器不匹配、CORS 未配置等。