這是一份為您整理關於 Better Auth 的全面指南,包含其運作機制、收費模式,以及它與 Supabase Auth 的深度比較。
一、 關於 Better Auth,您需要知道的一切
Better Auth 是一個在開發者社群(特別是 Next.js 與 TypeScript 生態系中)迅速崛起的身分驗證與授權框架。
1. 核心設計哲學:將 Auth 歸還給您的專案
與 Clerk、Auth0 等將使用者資料儲存在第三方伺服器的託管型(SaaS)服務不同,Better Auth 的核心理念是**「讓身分驗證活在您的應用程式內部」**。
- 資料自主:所有的使用者資料與 Session 資訊,都直接儲存在您自己的資料庫中。
- 框架無關(Framework-agnostic):雖然對 TypeScript 與 React/Next.js 支援極佳,但它同樣能在 Nuxt、SvelteKit、Astro、Remix 甚至 Hono 等多種框架上運作。
- 資料庫無關:透過 Adapter 機制,支援 Prisma、Drizzle、Mongoose、Kysely 等多種 ORM,並相容於 PostgreSQL、MySQL、SQLite 與 MongoDB 等資料庫。
2. 強大的「插件式(Plugin-based)」生態系
Better Auth 最受開發者喜愛的一點,在於它不是一個臃腫的龐然大物,而是透過模組化插件來擴充功能。您只需引進需要的插件即可,例如:
- 安全與體驗:雙因素驗證(2FA)、Passkeys(生物辨識)、Magic Link(魔術連結)。
- 商業與付費:內建 Stripe、Polar、Chargebee 等訂閱與支付插件,能自動將用戶註冊與金流訂閱狀態同步。
- B2B 企業級功能:多租戶組織管理(Organizations)、單一登入(SAML 2.0 SSO)。
- AI 時代的原生支援(重點):提供 Agent Auth(用於 AI 代理的授權與憑證交換)以及 MCP (Model Context Protocol) 驗證,這讓它在 AI 新創團隊中特別受歡迎。
3. 背景與社群熱度
由衣索比亞的自學工程師 Girma Engida 所創立,因其卓越的開發者體驗,獲得了 Y Combinator、Peak XV 等機構的 500 萬美元種子輪融資。許多需要高度客製化、 token 管理安全,以及不想被高昂 MAU 費用綁架的 AI 新創團隊,都在向此方案靠攏。
二、 Better Auth 是完全免費的嗎?
是的,其核心開源框架是 100% 完全免費且開源(基於 MIT 授權)的。
為了維持專案的商業營運,官方採取了「開源核心 + 雲端加值服務(Open-core + Cloud Add-ons)」的商業模式:
- 開源自託管(Self-hosted)— $0 元
您在專案中直接安裝@better-auth/better-authSDK 並串接自己的資料庫,這可以使用核心庫與全部的插件(包含 2FA、Passkeys、RBAC 等)。這部分完全免費,且沒有任何用戶數限制(無 MAU 上限)。 - 雲端控制台(Better Auth Cloud)— 免費加值(Freemium)
如果您想省去自己寫後台、管理 Log 或設定安全防護的時間,官方提供了選用的雲端服務(dash.better-auth.com):- Starter 方案($0/月):包含 1 個管理員席位(Seat),提供基本管理。
- Pro / Enterprise 方案(付費):提供多個管理員席位、每月超過 2 萬條的審計日誌(Audit Logs)、即時安全威脅偵測(Sentinel 物聯防護)、企業級 SSO 連線與簡訊/信件代發等。
結論:您完全不需要訂閱任何付費雲端服務,僅憑開源核心庫就能建立一個安全且具備高度生產力的驗證系統,達成完全零費用的身分驗證。
三、 Better Auth 比較 Supabase Auth
這兩者都是目前社群用來替代 Clerk 的熱門免費/低成本方案,但它們的技術定位與架構設計有很大的不同。
| 比較維度 | Better Auth | Supabase Auth |
|---|---|---|
| 技術定位 | 應用程式內的驗證框架(Library) | 後端即服務(BaaS)驗證模組 |
| 部署與架構 | 驗證邏輯與 Session 處理直接運行在您的專案 Server 內(Next.js API、Hono 等)。 | 驗證邏輯運行在 Supabase 的託管基礎設施中,並由其 API 對外服務。 |
| 資料庫相容性 | 極高。支援 PostgreSQL、MySQL、SQLite、MongoDB 等,能與您現有的資料庫結構完美融合。 | 高度綁定 PostgreSQL。其底層與 PostgreSQL 的 auth 綱要(Schema)深度結合。 |
| 用戶資料同步 | 使用者資料直接存在您的業務資料表中,不需額外同步。 | 註冊資料會存於獨立的 auth.users 表中。通常需要手動在 Postgres 內撰寫 Database Trigger 將資料同步至 public.users 表。 |
| 安全控制模式 | 依靠後端代碼、中間件(Middleware)與您的業務邏輯來進行權限判斷。 | 深度依賴 PostgreSQL 的 RLS(資料列級安全性策略),安全規則直接寫在資料庫中。 |
| 對 AI 專案支援 | 針對 AI 領域有專門優化,提供 Agent Auth(AI 代理驗證)和 MCP 相關插件。 | 整合性強,可無縫搭配 Supabase PostgreSQL 內建的向量資料庫(pgvector)進行權限防護。 |
| 合規性與認證 | 作為開源自建庫,合規性(如 SOC2、GDPR、HIPAA)需要您自己或伺服器託管商來管理。 | 作為託管服務,Supabase 官方已具備多項合規與安全認證(如 SOC2 等),企業客戶更安心。 |
| 收費模式 | 開源版本完全免費(無 MAU 限制),僅需支付自身伺服器/資料庫的營運成本。 | 提供極大方的 50,000 MAU 免費額度 [3.1.2],超出後需升級 Pro 方案(每月 $25 起) [3.1.8]。 |
抉擇建議:
- 選擇 Better Auth 的情境:
- 您的專案不想綁定特定的雲端資料庫廠商(例如您想用 Drizzle ORM 配 Hetzner VPS 上的 SQLite 或 MySQL)。
- 您不希望在資料庫中撰寫複雜的 SQL Trigger(觸發器)來處理用戶註冊後的資料同步。
- 您的專案涉及 AI 代理(AI Agents),需要進階的 token 交換與代理人授權機制。
- 選擇 Supabase Auth 的情境:
- 您的專案原本就打算使用 Supabase 做為主要的資料庫與後端(BaaS)。
- 您欣賞 PostgreSQL 的 RLS 安全機制,希望將資料讀寫權限鎖定在資料庫底層。
- 專案未來有較嚴格的企業合規性需求(如 SOC2),需要託管商背書。