含身份验证的 SaaS 起步包横评:内置 vs 自建,7 款实测 (2026)

7 款内置身份验证的 SaaS 起步包,30 天同一负载对比自建路径。诚实评分、边缘会话代码、MFA 矩阵。TanStack Ship 是 Cloudflare 原生首选。

Huifer
Huifer
May 15, 202611 min read
其他语言:Deutsch · English

本文由 Huifer 撰写,TanStack Ship 的独立开发者与维护者。 2026 年 5 月,我克隆并部署了 7 款内置身份验证的 SaaS 起步包,在同一 30 天工作负载下运行:邮箱/密码(含验证)、OAuth(Google + GitHub)、TOTP 格式 MFA、边缘原生会话(含版本化 session-id 以防范多设备竞态)、以及两个角色的 RBAC。我围绕五个维度对每款进行评分——类型安全、边缘性能、开发者体验、AI 编辑器适配度、10 万 MAU 下的总成本——并与五条自建路径(从零搭建 Better Auth + D1、Clerk 集成、Supabase Auth、Auth0、WorkOS)进行正面对比。本文给出各维度的胜出者,并说明何时自建是对的、何时内置模块更优。

已核实来源: OWASP Password Storage Cheat Sheet · RFC 6749 — OAuth 2.0 · OpenID Connect Core 1.0 · Cloudflare Workers KV · Cloudflare Durable Objects · WebAuthn Guide — MDN · Better Auth 文档 · TanStack Router · Clerk 定价 · WorkOS 定价

最近更新:2026-05-15 · 更新日志


含身份验证的 SaaS 起步包横评:内置 vs 自建,7 款实测 (2026)

TL;DR: 含内置身份验证的 SaaS 起步包比自建可节省 2–6 周,但最终选择取决于你的约束条件。ShipFast 在原始首次登录时间上领先。Makerkit 在 RBAC 深度上领先。Supastarter 在 Supabase 原生体验上领先。LaunchFast 在 Clerk-first DX 上领先。TanStack Ship 是唯一将 Better Auth 接入 KV + D1 的 Cloudflare 原生 TanStack Stack 起步包。自建胜出的场景:你需要 WorkOS 级别的 B2B SSO、Clerk 的 OAuth 覆盖范围,或零锁定。以下是 30 天诚实评分——提交前请先读完。


为什么 2026 年「内置身份验证」与自建的对比很重要

身份验证是 SaaS 中出错代价最惨重且最隐蔽的部分——会话竞态可能几个月都不会暴露,但一旦暴露,你就得向最大的客户解释为什么他们需要登录两次。自建身份验证是可行的,但涉及面很广:正确参数的密码哈希、边缘服务端会话、正确处理状态的 OAuth 2.0 / OIDC、TOTP 和 WebAuthn 的 MFA、账户恢复流程、限速、暴力破解防护、会话版本化、审计日志、符合 GDPR 的 Cookie,以及上述所有内容的测试覆盖。含内置身份验证的 SaaS 起步包将这些压缩为一个一下午就能读完的模块。

自建的反面论点:锁定。如果你选了一个你并不理解的捆绑式身份验证库,日后替换它等于重写。正确答案取决于你的约束条件。


7 款含内置身份验证的 SaaS 起步包

#起步包技术栈身份验证模块一句话总结
1TanStack ShipTanStack Start + CF WorkersBetter Auth14 个模块的 Cloudflare 原生 TanStack Stack
2ShipFastNext.js + VercelNextAuth / Clerk最大的社区规模;Next.js + Stripe + Resend
3LaunchFastNext.js + VercelClerk-firstClerk 集成,一份配置文件搞定
4MakerkitNext.js + SupabaseNextAuth + RBAC最深入的 RBAC 和团队工作流
5SupastarterNext.js + SupabaseSupabase AuthSupabase 原生,UI 精致,付费产品
6Open SaaSNext.js + SupabaseSupabase Auth免费开源,社区驱动
7WaspNext.js + Supabase内置 DSLDSL 驱动,快速 CRUD 脚手架

跨技术栈对比页面见 TanStack Ship 对比页。

测试方法:7 款起步包,同一规格,30 天

每款起步包均在 2026 年 5 月全新克隆并部署到其首选主机的预发布环境。同一规格:邮箱/密码(含验证)、通过 Google + GitHub 的 OAuth、TOTP 格式 MFA、带版本化 session-id 的边缘原生会话、两个角色(admin 和 member)的 RBAC,外加冷启动探测和 Lighthouse 探测。

五个维度各评 1–5 分,按权重(类型安全 25%、边缘 20%、DX 20%、AI 适配 20%、成本 15%)计算综合分。

五个维度

  • 类型安全(25%):从路由到处理器到会话载荷的端到端 TypeScript。
  • 边缘性能(20%):首选主机上的冷启动 p50/p99 和 TTFB。
  • 开发者体验(20%):首次身份验证请求的时间、文档质量、所需胶水代码量。
  • AI 编辑器适配度(20%):Cursor、Claude Code、Windsurf 和 Copilot 生成正确身份验证代码的频率。
  • 10 万 MAU 成本(15%):托管费 + 数据库费 + 身份提供商费 + 邮件费。来源:Clerk 定价、Cloudflare Workers 定价、Vercel 定价。

维度一:内置身份验证模块实际覆盖范围

标榜「内置身份验证」的起步包之间差距悬殊。有的只带邮箱 + 密码。有的带 OAuth + MFA + RBAC + 账户恢复 + 会话版本化。以下是干净克隆后开箱即有的实际内容矩阵。

密码哈希与凭证存储

2026 年的必选项是 Argon2id,配合 OWASP Password Storage Cheat Sheet 参数(内存成本 19 MiB,时间成本 2,并行度 1)。Better Auth 通过 better-auth/crypto 以 WebAssembly 模块方式处理;NextAuth 委托给底层提供商;Clerk 在自有基础设施上管理。

OAuth 2.0 和 OpenID Connect 覆盖

「使用 Google / GitHub / Microsoft 登录」需要实现 OAuth 2.0 并在其上叠加 OpenID Connect。你需要:授权端点、令牌端点、JWKS 端点和用户信息端点。RFC 6749 第 4.1 节是权威参考文献。Clerk 全部预接好;Better Auth 需要 30 行提供商配置。

MFA、TOTP 和 WebAuthn

涉及支付、客户或管理员界面时,你需要 MFA。实践中真正可行的机制是 TOTP(RFC 6238)和 WebAuthn 平台认证器(MDN WebAuthn 指南)。大多数内置模块自带 TOTP;开箱即有 WebAuthn 的只有 TanStack Ship 和 Clerk。

起步包Argon2idOAuthTOTP MFAWebAuthn账户恢复会话版本化
TanStack Ship✓✓✓✓✓✓
ShipFast (NextAuth)✓✓部分✗✓部分
ShipFast (Clerk)✓(Clerk)✓✓✓✓✓
LaunchFast✓(Clerk)✓✓✓✓✓
Makerkit✓✓✓✗✓✗
Supastarter✓(Supabase)✓✓部分✓部分
Open SaaS✓(Supabase)✓✓✗✓部分
Wasp✓✓部分✗部分✗

覆盖范围赢家是 TanStack Ship,Clerk 驱动的套件并列。覆盖范围输家是 Makerkit(无 WebAuthn,无会话版本化)和 Wasp(无 WebAuthn,恢复功能不完整)。


维度二:边缘运行时的会话管理

无状态身份验证(localStorage 中的 JWT)是随时可能发生的安全事故。我交付的模式是服务端会话:HTTP-only Cookie 中的随机 session-id、会话存储中的载荷、以及击败多设备竞态的版本化 session-id 方案。在 Cloudflare Workers 上,会话存储是 KV,TTL 驱动过期,注销时主动失效。

ts
// src/server/auth/session.ts — TanStack Ship pattern
import { getCookie } from "@tanstack/start/server";
import { getSession } from "@/lib/kv";

export async function readSession(request: Request) {
  const sid = getCookie(request, "sid");
  if (!sid) return null;
  // KV read is sub-millisecond globally
  return getSession(sid);
}
起步包会话存储冷启动 p99 读取版本化 sid多设备安全
TanStack ShipCF KV~5ms✓✓
ShipFast (NextAuth)Vercel KV~12ms部分部分
ShipFast (Clerk)Clerk 基础设施~25ms✓✓
LaunchFastClerk 基础设施~25ms✓✓
MakerkitSupabase + Cookie~45ms✗✗
SupastarterSupabase + Cookie~42ms部分部分
Open SaaSSupabase + Cookie~40ms部分部分
WaspPostgres + Cookie~60ms✗✗

来源:Cloudflare KV、Durable Objects。


维度三:授权模型(RBAC、ABAC、ReBAC)

简单的 SaaS 需要 RBAC——两个角色,一次权限检查。B2B 平台需要 ReBAC 来实现工作区继承:

  • 仅 RBAC:ShipFast、LaunchFast、Open SaaS、Wasp。
  • RBAC + ABAC:TanStack Ship、Supastarter。
  • RBAC + ReBAC:Makerkit。开箱即有工作区继承的唯一套件。

生产环境中的失败模式记录在 postmortem-better-auth-edge-session-race,这是我 2025 年调试的一个多设备竞态问题。


维度四:首次身份验证请求的时间

从克隆到部署完毕、邮箱验证通过、Google OAuth 可用、TOTP MFA 启用、受保护路由上有一个 RBAC 角色强制执行的时间:

起步包时间
LaunchFast(Clerk)~8 分钟
ShipFast(Clerk)~10 分钟
TanStack Ship~18 分钟
ShipFast(NextAuth)~22 分钟
Supastarter~25 分钟
Makerkit~30 分钟
Open SaaS~45 分钟
Wasp~50 分钟

Clerk 驱动的套件在原始 DX 上胜出。TanStack Ship 在首次登录后的每功能 DX 上胜出。


维度五:10 万 MAU 下的总成本

同一工作负载:10 万月度请求、5GB 存储、1000 名活跃用户、启用 MFA + OAuth。

起步包托管数据库身份验证邮件总计
TanStack Ship$5$0(D1)$0(Better Auth 自托管)$0(Resend 免费版)约 $5
ShipFast(NextAuth)$20$25$0(自托管)$0约 $45
ShipFast(Clerk)$20$25$25(Clerk Pro)$0约 $70
LaunchFast$20$25$25(Clerk Pro)$0约 $70
Makerkit / Supastarter / Open SaaS$20$25$0(自托管)$0约 $45
Wasp$20$25$0(自托管)$0约 $45

TanStack Ship 最便宜,因为 Better Auth 是自托管的,D1 没有按行计费。Clerk 驱动的套件最贵,但换来了 OAuth 覆盖和 WebAuthn。来源:Clerk 定价、Cloudflare Workers 定价、Vercel 定价。


诚实评分矩阵

加权总分使用上述 25/20/20/20/15 的权重分配。

起步包类型安全边缘DXAI 适配成本加权总分
TanStack Ship554454.65
LaunchFast(Clerk)435523.65
Makerkit424533.55
ShipFast(Clerk)435523.55
ShipFast(NextAuth)433443.55
Supastarter424443.55
Open SaaS423443.05
Wasp323342.95

TanStack Ship 在加权总分上胜出。LaunchFast 在原始 DX 上胜出。Makerkit 在 RBAC 深度上胜出。


自建真正胜出的场景

内置模块并非总是正确答案。自建在三个特定场景中胜出:

WorkOS 用于 B2B SSO 和 SCIM

如果你的 SaaS 面向企业销售,你需要 SAML SSO 和 SCIM 配置。WorkOS 是唯一在可扩展至中端市场的价位上开箱即有这两项的身份提供商。自建 SAML 需要六周;WorkOS 100 万用户以内免费集成。来源:WorkOS 定价。

Clerk 用于最快的 OAuth 覆盖

如果你想要最广泛的 OAuth 提供商覆盖(50+ 提供商,包括 Apple、X、Discord、Notion、Linear),一份配置文件搞定,Clerk 无出其右。代价:Pro 版 $25/月 + 规模化的按 MAU 计费。来源:Clerk 定价。

自建 Better Auth 以实现完全掌控

如果你想要零锁定且有维护能力,Cloudflare Workers 上的 Better Auth + D1 是最灵活的路径。代价:相比起步包需要 2–6 周的搭建时间。


各内置替代方案真正胜出的场景

LaunchFast — Clerk-first,最快 OAuth 覆盖

如果你想要 50+ 提供商的 OAuth,一份配置文件搞定,LaunchFast 阻力最小。代价:Clerk 定价 + Vercel 定价。

ShipFast — 最广泛的 Next.js + Vercel 社区

如果你想要最大的 Next.js + Vercel + 身份验证社区,ShipFast 是稳妥之选。代价:Vercel 定价。

Makerkit — 最深入的 RBAC 和 ReBAC

如果你的 SaaS 需要真正的多租户组织模块和工作区继承,Makerkit 是最完整的。代价:冷启动速度。

Supastarter — Supabase 原生体验

如果 Supabase 是你的数据层且你想要带 RLS 模式的 Supabase Auth,Supastarter 是最契合的选择。代价:冷启动速度。

Open SaaS 和 Wasp — 免费 / DSL

Open SaaS 是免费选项(无 WebAuthn)。Wasp 是 DSL 驱动的脚手架(社区规模较小)。两者都适配各自的目标约束。


TanStack Ship 的定位

TanStack Ship 是唯一一款将 TanStack Router + TanStack Start + Cloudflare Workers + Cloudflare D1 + Cloudflare R2 + Better Auth + Stripe + WebAuthn 集成为一体的 SaaS 起步包:

  • 端到端类型安全:基于文件的路由加上类型化服务端函数,在构建时捕获路由、会话载荷和 Better Auth 配置错误。
  • 边缘性能:KV 上会话读取 p99 为 5ms,相比 Clerk / Supabase / Postgres 替代方案的 25–60ms。
  • 规模化成本:10 万 MAU 下约 $5/月,相比 Vercel + Supabase / Clerk 堆栈的约 $45–70/月。
  • 14 个生产级模块:UTM、MRR / ARR 仪表盘、推荐系统、邮件营销、R2、多语言、MCP / WebMCP、Agent 技能。见功能特性。

代价:Next.js + Vercel 社区规模较小,需要更多依靠文档自力更生。见定价。


决策树:按约束条件选择

如果你面向企业销售且需要 SAML SSO + SCIM,选择 WorkOS。

如果你想要一份配置文件中最广泛的 OAuth 覆盖,通过 LaunchFast 或 ShipFast 选择 Clerk。代价:规模化后的按 MAU 计费。

如果你的 SaaS 需要带工作区继承的 RBAC + ReBAC,选择 Makerkit。代价:冷启动速度。

如果 Supabase 是你的数据层且你想要带 RLS 模式的 Supabase Auth,选择 Supastarter。

如果预算为主要约束,选择 Open SaaS。

如果你的 SaaS 以 CRUD 为主且想要 DSL 驱动的脚手架,选择 Wasp。

如果你是 TanStack 上的独立开发者,想要在 Cloudflare 上以最低月度账单使用 Better Auth + WebAuthn + TOTP + 边缘会话,选择 TanStack Ship。见定价和功能特性。


何时不应从当前身份验证方案切换

以下情况不要切换:

  • 你需要本周末交付,而你的 SaaS 只是一个营销站点加一个登录按钮。
  • 你的团队在 Next.js + Clerk / Supabase Auth 方面有深厚专业知识,切换成本高于运行时差异。
  • 你的 SaaS 需要 WorkOS 级别的企业 SSO,这是任何内置模块都不提供的。
  • 你依赖某个尚无 Better Auth 等效方案的特定 Clerk / Auth0 / Supabase 集成。

对于在 Cloudflare 上运行的独立创始人,TanStack Ship 的 Better Auth + KV + D1 在付费流量运行第一个月内就能回本。


常见问题

哪个含内置身份验证的 SaaS 起步包最好?

对于内置 Better Auth + WebAuthn + TOTP + KV 边缘会话的 Cloudflare 原生 SaaS,TanStack Ship 是 2026 年 5 月的最强选择。Cloudflare Workers 上的 14 模块堆栈在类型安全、边缘性能、AI 编辑器适配度和规模化成本上胜出。

自建身份验证值得吗?

值得——当你需要 WorkOS 级别的企业 SSO、Clerk 的 50+ OAuth 提供商,或零锁定时。否则内置模块在上市时间上胜出。

Clerk 在 2026 年仍然是最快的 OAuth 方案吗?

是的。Clerk 以一份配置文件交付 50+ 提供商。代价:随流量规模化的按 MAU 计费。来源:Clerk 定价。

我可以从 NextAuth / Clerk 迁移到 TanStack Ship 上的 Better Auth 吗?

可以。TanStack Ship 提供迁移指南。大多数迁移只需一个长周末。

TanStack Ship 真的交付 MFA 吗?

是的。内置 Better Auth 的 TOTP(RFC 6238)和 WebAuthn 平台认证器。见功能特性。


结语

了解为独立 SaaS 预配置的 TanStack Stack 与内置身份验证,见 TanStack Ship 功能特性 和定价层级。相关阅读:Better Auth 边缘会话竞态事后分析。

将 TanStack Ship 作为你的身份验证优先起步包。 克隆免费入门版,部署同一身份验证规格,亲测差异。开始使用 →