繁體中文(台灣)
事件後分析:意外的 JWT `iss` 變更
2024-03-18 發生的意外 JWT `iss` 變更事件報告。
2024-03-18 發生的意外 JWT `iss` 變更事件報告。
在 2024-03-18,Logto Cloud 中一項更改 JWT 發行者行為的更新破壞了使用自定義域名和 iss 驗證的用戶的身份驗證流程。此修復需要這些用戶更新他們的驗證邏輯。
iss 驗證的用戶。iss 驗證。更新更改了 iss 欄位以匹配請求的域名,打破了依賴先前預設發行者的現有驗證。
iss 行為。Logto Cloud 支援身份驗證的自定義域名,開發者啟用自定義域名的租戶可以在 SDK 中設定端點到自定義域名,然後最終用戶將使用此端點初始化身份驗證流程並獲取令牌。部分令牌是 JWT 格式,其中包含 iss 欄位,表示此令牌的發行者。以前,即便使用自定義域名端點請求訪問令牌,發行者仍會默認為我們的標準域名([tenant-id].logto.app)。
但發行者的域名應與請求的端點相同。因此,我們發布了一個更新來修正此問題,現在 iss 欄位將自動反映在請求中使用的域名。
對於那些已經使用自定義域名授權令牌並在資源服務器中實施 iss 欄位驗證的用戶,這可能是一次重大變更。現有的身份驗證將因發行者的變更而失敗。為了解決這個問題,開發者需要更改驗證代碼,將預期的發行者替換為新的自定義域名。
我們未能充分考慮對現有 iss 驗證的影響,結果此次發布成為未經事先通知的重大變更。
通過電子郵件通知受影響的用戶,建議他們更新他們的 iss 驗證以匹配請求的域名。
此更改對於發行者欄位是必要的修正,一些用戶可能已經適應了新的行為。回滾將導致混淆和不一致。