DX 选 Clerk;PG 集成选 Supabase;企业 SSO 选 WorkOS。
一、三家定位差异
| 维度 | Clerk | Supabase Auth | WorkOS |
|---|
| 主打 | DX + Prebuilt UI | PG + RLS 集成 | 企业 SSO |
| 目标客户 | B2C / Indie | 全场景 | B2B SaaS |
| UI 组件 | ★★★★★ | ★★ | ★★★ |
| 企业 SSO | ★★★ | ★★ | ★★★★★ |
| PG 集成 | ★★ | ★★★★★ | ★ |
| 价格条件 | $25/月 | $25/月(含 PG) | $125/SSO |
| 免费额度 | 10k MAU | 50k MAU | 1M Users(无 SSO) |
二、价格细节(2026 年 5 月)
Clerk
| 套餐 | 月费 | 含 |
|---|
| Free | $0 | 10,000 MAU |
| Pro | $25 | 10,000 MAU + 高级特性 |
| Pro 超额 | $0.02/MAU | - |
| Pro Plus | $249 | 加 organizations |
| 企业 SSO | +$50/连接 | 每企业 IdP |
Supabase Auth
| 套餐 | 月费 | 含(auth + database) |
|---|
| Free | $0 | 50k MAU + 500MB DB |
| Pro | $25 | 100k MAU + 8GB DB |
| Team | $599 | SLA + 团队特性 |
| 超额 | $0.00325/MAU | - |
WorkOS
| 套餐 | 月费 | 含 |
|---|
| Free | $0 | 1M Users(无 SSO) |
| SSO | $125/连接 | 每个企业 SSO |
| Directory Sync | $125/连接 | SCIM |
| Magic Link | $0.001/auth | 无固定费 |
三、DX 对比
Clerk(React + Next.js 示例)
// 1 行代码集成认证
import { ClerkProvider, SignedIn, SignedOut, SignIn } from '@clerk/nextjs'
export default function App() {
return (
<ClerkProvider>
<SignedOut><SignIn /></SignedOut>
<SignedIn>欢迎</SignedIn>
</ClerkProvider>
)
}
Supabase Auth
import { createClient } from '@supabase/supabase-js'
const supabase = createClient(URL, KEY)
await supabase.auth.signInWithPassword({ email, password })
// UI 需自己写
WorkOS
import { WorkOS } from '@workos-inc/node'
const workos = new WorkOS(API_KEY)
const url = workos.sso.getAuthorizationURL({
organization: 'org_01',
redirectURI: 'https://app.example.com/callback'
})
// 跳转到企业 IdP
Clerk 最简单,WorkOS 需要懂 OAuth 2.0 流程。
四、企业 SSO 支持
| 服务 | Clerk | Supabase Auth | WorkOS |
|---|
| Okta | 是 | 部分 | 是 |
| Azure AD | 是 | 部分 | 是 |
| Google Workspace | 是 | 是 | 是 |
| SAML 2.0 | 是 | 是 | 是 |
| SCIM | Pro+ | 否 | 是 |
| Directory Sync | Pro+ | 否 | 是 |
| OneLogin | 是 | 部分 | 是 |
| JumpCloud | 部分 | 否 | 是 |
| 第一个企业客户成本 | $299+ ($249+ $50) | 自实现 | $125 |
B2B SaaS 拿企业客户必须支持 SAML SSO + SCIM。WorkOS 单价最低。
五、Postgres 集成(数据隔离)
如果你用 Postgres 数据库:
| 服务 | RLS 集成 | JWT claims | 触发器 |
|---|
| Clerk | 需要自实现 webhook | 自定义 | 不直接 |
| Supabase Auth | 原生 | 是 | 原生 |
| WorkOS | 需要自实现 | 自定义 | 不直接 |
Supabase 用 auth.uid() 作为 RLS 函数实现行级安全,开发者无需多余代码。
六、indie SaaS 推荐组合
| 阶段 | 推荐 |
|---|
| 0-10k MAU | Clerk Free / Supabase Free |
| 10k-100k MAU | Clerk Pro / Supabase Pro |
| 第一个企业客户 | WorkOS Free + 加 SSO |
| 多企业客户 | WorkOS 整体迁移 |
| B2C 大规模 | Clerk 或 Supabase |
七、跨境环境检查
Clerk Dashboard(dashboard.clerk.com)+ Supabase Dashboard(app.supabase.com)+ WorkOS Dashboard(dashboard.workos.com)在国内访问普遍稳定,但部分新区域(如 Clerk 韩国节点)偶有波动。
如果你需要稳定登录三家 Dashboard + 同时管 Stripe / Mercury / Wise 等账号,配一条独立开发者出海稳定专线能保证多 SaaS Dashboard 操作不中断。
八、迁移成本对比
| 从 → 到 | 难度 | 时间 |
|---|
| Clerk → Supabase Auth | 中 | 1-3 周 |
| Supabase Auth → Clerk | 易 | 1-2 周 |
| Clerk → WorkOS | 难(架构变) | 3-6 周 |
| Supabase Auth → WorkOS | 难 | 3-6 周 |
提前规划:选 Clerk / Supabase 时考虑未来是否会拿企业客户。如果会,预留 webhook + UID 映射设计。
相关阅读