Cloudflare

Cloudflare OAuth 全開放:自助式用戶端與零停機引擎升級

Cloudflare 於 6 月 24 日宣布自助式 OAuth 開放給所有客戶,第三方整合不再依賴 API Token,文章詳述 Hydra 引擎兩階段零停機遷移與 P95 延遲近乎減半的過程。

Cloudflare OAuth 全開放:自助式用戶端與零停機引擎升級 — 文章封面
本頁內容6 個段落
  1. 從 API Token 到 OAuth:為什麼要開放
  2. 升級 OAuth 引擎:兩階段遷移
  3. 藍綠切換與撤銷重播佇列
  4. 效能成績:P95 延遲近乎減半
  5. 對開發者的實際影響
  6. 參考來源

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,獲得三百多個讚。

參考來源

本文由 AI 協助自上述來源整理,經人工審核後發布。

分享X電郵