用途:在 TypeScript/JavaScript 应用中实现认证与授权,支持邮箱密码、社交 OAuth,以及 2FA、Passkey、Magic Link、组织多租户、会话与用户生命周期管理,适用于 Next.js、Nuxt、SvelteKit、Remix、Astro、Hono、Express 等框架。
主要能力:内置邮箱密码、OAuth、邮箱验证、密码重置、限流与会话管理;插件提供 2FA/TOTP、Passkey/WebAuthn、Magic Link、用户名登录、组织/多租户。采用客户端-服务端架构:服务端 better-auth 处理认证逻辑、数据库与 API 路由,客户端 better-auth/client 提供前端方法与 hooks,插件可同时扩展两端。
使用方式:安装 npm install better-auth(或 pnpm/yarn/bun add better-auth)。配置 .env 中的 BETTER_AUTH_SECRET(至少 32 字符)与 BETTER_AUTH_URL。创建 auth.ts 调用 betterAuth 并配置 database、emailAndPassword、socialProviders 等。用 npx @better-auth/cli generate 生成 schema/迁移,npx @better-auth/cli migrate 应用迁移(仅 Kysely)。在框架中挂载 API 处理器,例如 Next.js App Router 使用 toNextJsHandler(auth) 导出 POST、GET。创建 auth-client.ts 调用 createAuthClient 设置 baseURL,即可调用 signUp.email、signIn.email、signIn.social,并用 useSession 或 getSession 获取会话。
适用场景:标准 Web 应用认证、社交登录、无密码登录、企业多租户与渐进式增强。
限制:资料未提供具体收费、价格、平台与效果信息;部分功能需安装对应插件,添加插件后需重新生成 schema;迁移命令仅支持 Kysely;生产环境需自行配置邮件发送与限流。