繁體中文(台灣)
事後分析:由於 JWKS 快取和簽章金鑰輪替導致的驗證失敗
2026 年 1 月 8 日(PST)驗證事件的事後分析。
**日期:**2026 年 1 月 8 日(PST)
**持續時間:**約 60 分鐘
**影響:**部分生產租戶遇到登入和權杖驗證失敗;Console 登入也可能受到影響
摘要
我們在 *.logto.io 網域上,輪替簽章金鑰與快取的 JWKS 不一致,導致權杖驗證失敗。我們清除了 JWKS 快取,並還原至先前的簽章金鑰以恢復服務。
部分用戶仍可能因瀏覽器快取而看到 Console 登入問題。很抱歉造成你的困擾。
時間軸(PST)
- 04:00 PM 事件開始(驗證/權杖驗證錯誤增加)
- 04:35 PM 找到根本原因(JWKS 在簽章金鑰輪替時仍被快取)
- 04:41 PM 清除快取
- 04:49 PM 還原簽章金鑰
- 05:00 PM 服務恢復;持續監控
事件詳情
影響
事件期間,部分用戶無法登入,部分權杖驗證失敗。這影響多個生產租戶,也可能阻擋存取 Logto Console。
我們沒有發現與此次事件相關的未授權存取證據;影響僅限於驗證失敗。
用戶行動
如果你仍無法登入 Logto Console,請嘗試:
- 開啟無痕/私人視窗,或
- 清除/停用你的瀏覽器快取,然後再試一次
發生了什麼事
- 我們更新了客戶租戶網域(
*.logto.app)的 JWKS 快取設定。但 JWKS 快取誤被保留在我們的 Cloud 網域(*.logto.io)。 - 我們輪替了 Cloud 服務的簽章金鑰。由於
*.logto.io的 JWKS 回應被快取,一些客戶端繼續使用過時的 JWKS,無法驗證新發出的權杖。 - 我們清除
*.logto.io的 JWKS 快取,還原到先前的簽章金鑰,然後再次清除 JWKS 快取,確保客戶端取得還原後的金鑰集合。 - 驗證恢復。部分用戶仍可能因瀏覽器快取而看到 Console 登入問題。
經驗教訓
金鑰輪替不僅是金鑰管理任務,更是端對端的相容性調整,必須考慮發行者與驗證者之間的快取行為。跨網域設定漂移(*.logto.app vs *.logto.io)是真實風險。對某個網域安全的變更,如果沒有一致套用,可能會破壞另一個網域。
我們現有的整合測試未涵蓋生產環境下 JWKS 快取行為,因此在金鑰輪替之前沒有觸發這種失敗模式。
預防措施
我們正在執行:
- 在簽章金鑰輪替流程中,將 JWKS 快取失效作為必要步驟(僅在失效完成後再輪替)
- 在失效流程就位前,保持停用 JWKS 快取,之後才為效能重新啟用快取
- 為金鑰輪替建立貼近生產環境的整合測試,包括 JWKS 快取行為與快取失效檢查

