当前位置: 首页 > news >正文

Val Town 身份验证迁移:从 Supabase、Clerk 到 Better Auth,背后有何艰难抉择?

从 Supabase 到 Clerk,再到 Better Auth:Val Town 身份验证迁移背后的艰难抉择

2026 年 5 月 6 日,Tom MacWright 分享了 Val Town 在身份验证方面的迁移历程。2023 年,Val Town 从 Supabase 迁移到更传统的数据库设置,用 Render 作为数据库,Clerk 进行身份验证。然而,到 2023 年末,他们提出停用 Clerk 的问题,一个月前切换到 Better Auth 后得以解决。

Clerk 非常成功,刚筹集 5000 万美元,Supabase 也以 50 亿美元估值筹集 1 亿美元。但 Val Town 还是很高兴切换到 Better Auth,因为使用 Clerk 期间经历了诸多艰难,其架构与 Clerk 预期严重冲突。

核心问题

核心问题在于,Clerk 试图同时充当用户表和会话表。将用户表外包给第三方服务存在两大问题。

Clerk 作为用户表替代品不理想:它有严格速率限制且不太可靠。最初切换时,以为可从 Clerk 的 API 加载用户数据,开发环境运行良好,但生产环境中该端点速率限制为每秒 5 次请求,且针对整个账户。这对 Val Town 社交功能影响大,为解决问题,不得不使用 Webhook 将 Clerk 数据同步到数据库,使注册过程复杂,用户设置也需分开。

Clerk 成为用户会话单点故障:基于 Cookie 的用户会话需不断刷新,由 Val Town 子域名将请求传递给 Clerk 刷新。若 Clerk 出现故障,整个网站瘫痪,且 Clerk 经常出现长时间故障,自 2025 年 5 月以来,其正常运行时间在 99% - 99.9% 之间波动。除这两个主要问题,还遇到其他漏洞和问题。

三年左右的时间

若情况糟糕,为何不立即切换?一方面,不想让“从 X 切换到 Y”成为习惯,坚持决策有助于提高开发速度、让团队保持理智,且写批评文章不如开发有趣积极。另一方面,Clerk 有优点,为使用的技术提供 SDK,跟上框架更新,管理和反滥用措施有一定作用,适合相对简单、以前端为主且无社交功能的应用程序。此外,身份验证优秀选项不多,替换 Clerk 门槛高,开源解决方案陈旧,身份验证即服务平台有供应商风险,掌握合适技术控制权不易。

Better Auth 登场

Better Auth 从一开始就满足很多要求,代码质量高,与不同框架集成效果好,作为独立开源项目实用。虽存在供应商风险,但不再依赖第三方保证会话和用户身份验证正常运行。排名第二的是 WorkOS 的 AuthKit,但经历两次供应商切换后,找到能独立运行且核心开源的解决方案很重要。Better Auth 的管理控制台和付费附加功能设计巧妙,管理自己的数据,付费服务基本无状态,不参与会话管理。

大语言模型在过渡期间帮忙,两周过渡期间同时支持 Better Auth 和 Clerk,最终完全使用 Better Auth 的身份验证代码是完全手写的。Better Auth 与 Vals 配合得好,可尝试其入门模板为 Val Town 代码添加身份验证功能。

一路走来学到很多,依赖上游供应商保证系统正常运行时,应认真考虑风险。有些产品虽出色成功,但可能不适合特定问题。软件行业变化快,当下不存在的解决方案,一年后可能出现。

Val Town 正在招聘,欢迎加入团队一起打造编程的未来,可查看开放职位。

http://www.jsqmd.com/news/773145/

相关文章:

  • 碳硅共生对劳动力市场结构的颠覆性影响:从“人机替代”到“认知合伙”(世毫九实验室原创研究)
  • 题解:洛谷 P14077 [GESP202509 七级] 连通图
  • 根据图片搜索相似商品,item_search_img拍立淘接口讲解
  • 如何用ChanlunX缠论插件实现股票技术分析自动化:从入门到精通的完整指南
  • BiliDownload:3步轻松下载B站高清无水印视频的完整指南
  • 2026 考研公共课机构实力排名 TOP5:精准提分首选这个机构!
  • 为什么83%的AISMM自评得分≠监管认可分?——SITS2026圆桌首次披露“评估可信度衰减公式”
  • 为 Hermes Agent 配置自定义 provider 并指向 Taotoken 服务端点
  • AISMM模型实施倒计时:2025年起强制纳入等保2.0扩展评估,你缺的这1份差距分析报告
  • 2026年,昆明口碑好的小户型改造施工公司
  • 8.数据库约束学习笔记:从非空、默认、唯一与主键约束到主键自增
  • 蛇形机械臂运动分析与控制结构设计【附代码】
  • Python怎么生成随机数_random模块randint与choice用法
  • 深圳买狗推荐哪家实力强
  • 小米手表表盘设计终极指南:Mi-Create免费可视化工具完整教程
  • AI教材编写神器来袭!低查重保障,一键生成20万字专业教材!
  • CursorClaw:基于语义的智能光标工具,革新代码编辑体验
  • C#本地大模型集成实战:OllamaSharp让.NET开发者轻松调用Llama、Mistral等模型
  • 微信自动回复来了!单聊群聊都能用,私域运营终于不累人了
  • 2070年职业消亡预警清单
  • Electron
  • AISMM模型投资回报分析终极对照表(含银行/保险/VC三大业态参数包+监管合规红线标注),错过将影响2025年度预算审批优先级
  • RAG天花板突破:GraphRAG、HyDE、Self-RAG、Code-RAG,解锁AI知识库进阶玩法!
  • 财联万业适合中小商户入驻吗?
  • 为什么头部银行用AISMM替代COBIT?:揭秘金融级云原生治理的4大硬性阈值与3类不可逆降级信号
  • Mac OS X 环境下通过 HoRNDIS 实现 Android USB 网络共享的专业部署与优化指南
  • 大模型学习指南:小白也能轻松掌握核心技术(收藏版)
  • 低查重AI教材生成秘籍:利用工具,3天完成20万字专业教材编写!
  • AISMM评估结果≠模型真实能力!顶级AI治理团队内部使用的7维交叉验证法(限阅版)
  • 2026年度主流靠谱的多路温度测试仪/多通道温度记录仪老品牌厂家JINKO金科代表型号详解!附常见问题解答 (FAQ) - 奋斗者888