2026 年 6 月 24 日,Cloudflare 在官方部落格發表「OAuth for all」,宣布自助式 OAuth 開放給所有客戶:任何人都能在控制台建立自己的 OAuth 應用程式,用標準授權流程取得 Cloudflare API 的委派存取權。距 6 月 3 日的首波限定開放僅三週。
表面上是一篇產品公告,內裡是一場基礎設施手術的完整記錄:OAuth 引擎從 Hydra 1.x 升到 2.x,生產環境淨遷移約三小時,全程零停機。
從 API Token 到 OAuth:為什麼要開放
過去第三方 OAuth 只開放給少量人工審核的夥伴(Wrangler、PlanetScale);一般開發者只能靠 API Token——難管理、不適合委派流程,既看不清應用拿到什麼權限,也缺少撤銷介面。
推動改變的是代理工具的爆發:Cloudflare 直說 agentic 工具帶動委派存取需求,開放 OAuth 已是平台成功的必要條件。今年稍早他們已先改善同意畫面、在控制台加入撤銷功能,並讓應用擁有者更醒目以防 OAuth 釣魚。
升級 OAuth 引擎:兩階段遷移
Cloudflare 的 OAuth 引擎是開源專案 Hydra。舊部署撐不起全面開放,團隊決定升級,並刻意拆成兩步:先升到最後一個 1.x 版觀察行為,再做 2.x 大版本升級。
光 1.x 就不輕鬆:原廠遷移會對關鍵資料表取得獨占鎖並搬移資料,線上操作直接被擋;SDK 又以 SELECT * 讀取,欄位一變就反序列化失敗。團隊重寫 SQL、改用並行建索引避免鎖表,並維護明確指定欄位的 Hydra 自訂版本。2.x 的 schema 變動太大、無法原地升級,於是選藍綠部署:在資料庫副本上跑完遷移再一次切換。
藍綠切換與撤銷重播佇列
藍綠聽起來簡單,難在切換的那幾個小時。最直覺的做法是停寫,但這代表無法新增授權,更糟的是無法撤銷——升級期間想收回應用存取權的使用者會求助無門。
配套有兩層:一是拉長 token 有效期,讓切換前拿到的憑證撐過整段時間、減少寫入;二是用 Cloudflare Queues 建撤銷重播佇列,升級視窗內的每筆撤銷先入佇列,切到綠版後重播。這一步做錯的後果很嚴重——已撤銷的應用會悄悄恢復存取權。
遷移規模不小:約 1.325 億列更新、1.147 億列插入、136.97 GB 暫存資料。切換後團隊還發現新版 Hydra 對 refresh token 重用更嚴格,會作廢整條 token 鏈,衝擊高流量的 Wrangler 與 MCP 用戶端;先在 Worker 層做請求合併,再靠 2.x 內建寬限期根本解決。
效能成績:P95 延遲近乎減半
數字相當有感:API P95 延遲從 185 毫秒降到 101 毫秒,約 45%;常駐記憶體從 888 MB 降到 763 MB,Go heap 配置從 449 MB 降到 271 MB;goroutine 從 4,015 降到 3,076,CPU 用量從 1.07 核降到 0.67 核。引擎換代的紅利直接反映在每個請求上。
對開發者的實際影響
第一,做 Cloudflare 整合不必再把長效 API Token 塞進別的系統:建立 OAuth 用戶端、勾選最小權限範圍,使用者同意後即可代為操作。第二,要讓 agent 存取 Cloudflare 帳號的團隊,現在有具備明確同意與一鍵撤銷的正規路徑。第三,經營 SaaS 或內部平台的人,可把 Cloudflare 放進正式整合清單。公告 6 月 25 日登上 Hacker News,獲得三百多個讚。
參考來源
- OAuth for all — Cloudflare Blog
- Self-managed OAuth clients — Cloudflare Changelog
- Create an OAuth client — Cloudflare Docs
- OAuth for all — Hacker News
本文由 AI 協助自上述來源整理,經人工審核後發布。
