← 工具

Better Auth

TypeScript 生态最全面的认证框架,开箱即支持 OAuth、2FA、多租户、SSO,插件化架构 5 行代码接入任意功能,独立开发者出海 SaaS 认证首选。

#25
推荐排名
28,091
GitHub Stars
43,822
推荐得分
SaaS 用户认证 / 多租户权限管理
适用场景
开发工具认证OAuth自托管TypeScript开源

为什么需要

做海外 SaaS 产品,认证是绕不开的第一关。Google 登录、GitHub OAuth、邮箱验证、两步验证——每一样都要写,每一样都有坑。TypeScript 生态里现有的方案要么太轻(只做 OAuth,其他自己写),要么太重(Clerk/Auth0 绑定付费)。Better Auth 的定位就是:开源、免费、功能全覆盖、框架无关。

怎么用

  1. 安装:npm install better-auth
  2. 配置数据库连接(支持 PostgreSQL、MySQL、SQLite、MongoDB)
  3. 初始化 Better Auth 实例,配置需要的 provider(Google、GitHub、Discord 等)
  4. 在你的框架里挂载路由(Next.js、Nuxt、SvelteKit、Express、Hono 等都有适配)
  5. 前端用官方 SDK 调用 signIn.social() 一行代码完成登录
typescript
import { betterAuth } from "better-auth";

const auth = betterAuth({
  database: new Pool({ connectionString: process.env.DATABASE_URL }),
  socialProviders: {
    github: { clientId: "...", clientSecret: "..." },
    google: { clientId: "...", clientSecret: "..." },
  },
});

插件生态

Better Auth 的核心优势在插件系统:

  • two-factor:TOTP/短信验证码,2 行代码启用
  • multi-tenant:多租户支持,SaaS 必备
  • organization:团队/组织管理
  • magic-link:魔法链接登录
  • passkey:WebAuthn 无密码登录
  • stripe:Stripe 订阅集成
  • admin:用户管理后台

每个插件都是独立安装,不用的功能不打包。

注意事项

  • 免费开源(MIT),无用户数限制
  • 需要自己管理数据库(不像 Clerk/Auth0 托管)
  • 文档质量高,但部分高级用法还在完善
  • 社区活跃,GitHub Issues 响应快