Better Auth vs Supabase Auth

這是一份為您整理關於 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)」的商業模式:

  1. 開源自託管(Self-hosted)— $0 元
    您在專案中直接安裝 @better-auth/better-auth SDK 並串接自己的資料庫,這可以使用核心庫與全部的插件(包含 2FA、Passkeys、RBAC 等)。這部分完全免費,且沒有任何用戶數限制(無 MAU 上限)
  2. 雲端控制台(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 的情境
    1. 您的專案不想綁定特定的雲端資料庫廠商(例如您想用 Drizzle ORM 配 Hetzner VPS 上的 SQLite 或 MySQL)。
    2. 您不希望在資料庫中撰寫複雜的 SQL Trigger(觸發器)來處理用戶註冊後的資料同步。
    3. 您的專案涉及 AI 代理(AI Agents),需要進階的 token 交換與代理人授權機制。
  • 選擇 Supabase Auth 的情境
    1. 您的專案原本就打算使用 Supabase 做為主要的資料庫與後端(BaaS)。
    2. 您欣賞 PostgreSQL 的 RLS 安全機制,希望將資料讀寫權限鎖定在資料庫底層。
    3. 專案未來有較嚴格的企業合規性需求(如 SOC2),需要託管商背書。