繁體中文(台灣)
  • release

Logto 產品更新

Logto v1.39.0 全新發佈,帶來更安全的簽名金鑰輪換、更智慧的 JWT 腳本錯誤處理、擴充的帳號中心安全控管、支援 WhatsApp 連接器,以及關鍵安全性提升。

Simeng
Simeng
Developer

不要在使用者認證上浪費數週時間
使用 Logto 更快地發布安全應用程式。幾分鐘內整合使用者認證,專注於您的核心產品。
立即開始
Product screenshot

我們很高興推出 Logto v1.39.0,本次版本專注於更強的營運安全、更靈活的權杖自訂,以及增強使用者帳戶安全。這次版本新增了私有簽名金鑰輪替的寬限期、自訂 JWT 腳本可配置的錯誤處理、全新的帳號中心安全頁面、透過 Meta Cloud API 支援 WhatsApp 連接器,還有在驗證流程多項安全性與穩定性提升。

亮點

  • 私有簽名金鑰輪替寬限期:Logto 現在在旋轉私有簽名金鑰時提供寬限期,協助用戶端刷新快取的 JWKS 而無需停機。
  • 自訂 JWT 腳本錯誤管理:存取權杖與用戶端憑證 JWT 客製化腳本失敗時,現可阻擋權杖發行。
  • 帳號中心安全頁:終端使用者現在可在帳號中心管理社交帳號連結、MFA 多重驗證與帳號刪除。
  • WhatsApp 連接器:透過 Meta Cloud API 提供全新 WhatsApp 簡訊連接器。
  • 安全與相容性修正:忘記密碼驗證回應現已統一,以降低帳號枚舉風險;而 APP 內瀏覽器的社群/SSO 重新導向也更加穩健。

新功能 & 增強

私有簽名金鑰輪替寬限期

Logto 現在於私有簽名金鑰輪替期間支援寬限期。

可透過以下方式設定:

  • PRIVATE_KEY_ROTATION_GRACE_PERIOD 環境變數。
  • --gracePeriod CLI 參數。

在寬限期間:

  • 新產生的簽名金鑰標記為 Next
  • 現有簽名金鑰繼續作為 Current
  • 用戶端有時間刷新快取的 JWKS,確保新金鑰上線時不中斷服務。

寬限期結束後:

  • 新的私有簽名金鑰轉為 Current
  • 舊的簽名金鑰標記為 Previous

這樣能提供更順暢的金鑰輪替程序,避免因過時 JWKS 快取導致的驗證失敗。

文件參考:金鑰輪換說明

自訂 JWT 腳本錯誤處理

Logto 現在支援存取權杖與用戶端憑證流程中自訂 JWT 腳本的可調式錯誤處理。

此次變更包括:

  • 當自訂 JWT 腳本執行失敗時,現可選擇阻擋權杖發行。
  • api.denyAccess() 維持傳回 access_denied 回應。
  • 其他阻擋模式腳本錯誤則回應在地語系 invalid_request
  • Console 新增 錯誤處理 分頁便於配置行為。
  • 新建立的腳本預設啟用 blockIssuanceOnError
  • 未儲存該設定的既有腳本將維持舊有預設(不會阻擋)。
  • Console 操作說明、提示語、Schema 及整合測試已更新。

這能讓開發者根據安全需求,靈活選擇權杖自訂失敗時要「開放」或「鎖定」處理。

帳號中心安全頁

本次發佈為內建帳號中心新增安全頁面。

終端使用者可透過 /account/security 管理帳號安全,包括:

  • 社群帳號連結及解除綁定。
  • MFA 兩步驟驗證。
  • 帳號刪除。

Console 支援:

  • 登入體驗的帳號中心設定現可自訂刪除帳號 URL。
  • Console 展示帳號中心及社交 UI 配置入口。

Meta Cloud API WhatsApp 連接器

新增 WhatsApp 連接器,可透過 Meta Cloud API 傳遞訊息。

這讓基於 WhatsApp 的簡訊/驗證碼傳送情境完美整合官方 Meta Cloud API。

組織分配 API 回應內容

組織成員與角色分配 API 現在可回傳回應內容。

更新的端點:

  • POST /organizations/:id/users 現傳回 { userIds: string[] },回應請求內所有 user IDs。
  • POST /organizations/:id/users/:userId/roles 現傳回 { organizationRoleIds: string[] },內含包含輸入角色名稱所解析的最終唯一角色 ID。

Console 主題權杖補齊

Console 主題現已補齊缺少的 --color-overlay-primary-subtle 權杖,支援明暗模式。

錯誤修正 & 穩定性

忘記密碼驗證清查風險防護

忘記密碼驗證現統一回傳 verification_code.code_mismatch 錯誤碼。

這防止流程因不同錯誤訊息暴露使用者信箱或電話是否存在。

社群/SSO 在 APP 內瀏覽器重新導向

改善了 Instagram、Facebook、LINE 等 APP 內瀏覽器下社群與 SSO 重新導向的穩定性。

某些 APP 內瀏覽器會將 OAuth 身分驗證頁面開在新 WebView,回傳後可能遺失 sessionStorage

本次增加 localStorage 備援:

  • 重新導向狀態仍優先存在 sessionStorage
  • 同步於 localStorage 儲存備援狀態上下文。
  • 回傳時如缺失 sessionStorage ,Logto 會自 localStorage 還原狀態。
  • 備援資料在讀取後即銷毀,並在 10 分鐘自動清理。
  • 若兩處快取皆失效,將顯示錯誤提示。

驗證碼連接器請求 IP

修正發送驗證碼時,請求 IP 未正確傳給連接器的問題。

現在連接器能正確取得驗證碼傳遞時的請求上下文。