Logto 產品更新
Logto v1.40.0 帶來了稽核日誌的時間範圍選擇器、更豐富的組織成員 WEBHOOK 載荷、大型組織效能大幅提升,還有多項自架設品質改進。
Logto v1.40.0 是一個加強平台韌性的版本。它讓稽核日誌可在大規模下實用,告訴你組織成員 Webhook 到底改了什麼,加速大型租戶的組織查詢,並移除了自架設部署上一些長久以來的卡點。這次還有三個新連接器加入。以下是亮點內容。
你真的能範圍篩選的稽核日誌
當事情剛發生時,稽核日誌才最好用——但直到現在,Console 都是抓整個無範圍的日誌窗口,這讓日誌量很大的租戶變得很慢。
這次發佈在稽核日誌頁新增了時間範圍選擇器,預設是最近 7 天。你能用預設的時間段(最近 1 小時、最近 24 小時、最近 7 天、最近 30 天)和自訂日期範圍,只要調大時間窗口就能查更早的日誌(#8810)。
底層上,管理 API 在 GET /api/logs 和 GET /api/hooks/{id}/recent-logs 提供了 start_time 跟 end_time 查詢參數(unix 毫秒,區間為左閉右開),你也可以用程式化方式查詢(#8806)。和非常巨大的租戶相關,一個新的 enableCap=true 參數會讓 count 查詢遇到約 10,000 筆就終止,並回應 Total-Number-Is-Capped: true 標頭,不再追求精確總數以避免 statement_timeout;Console 當碰到 cap 時會自動跳回上一頁/下一頁分頁(#8796, #8802)。沒給這參數時,一切保持原樣。
組織成員 Webhook 現在能告訴你改了哪些
Organization.Membership.Updated Webhook 以前只會說成員有變,但不會說變了什麼。現在額外帶有 delta 字段——addedUserIds / removedUserIds 和 addedApplicationIds / removedApplicationIds——橫跨成員端點,還有邀請接受和即時配置(email 網域與企業 SSO JIT)的 addedUserIds(#8840)。
這是完全新增、非破壞性的——空變更會省略,每個陣列最多顯示 5000 筆(大批操作時請用 GET /organizations/:id/users 或 .../applications 來對比)。更完整內容請看 Webhook 參考文件。這工作也取代了早期社群提案——感謝 @chiche84(#8752)。
也順手在 session 代碼裡讓 GET /api/my-account/sessions 回傳每筆紀錄的 isCurrent 標記,方便 session 管理介面標註「這個裝置」並避免自爆當前 session(#8731)。
組織規模增大還是很順暢
多項調整專為用戶、組織都很多的租戶:
GET /organizations/:id/users現在用LATERAL子查詢先聚合角色,LIMIT能在抓角色前先精簡用戶集——不再每次分頁都組出滿滿的members × roles關聯(#8826)。- 兩個新的二級索引加快反向查找:一個在
organization_user_relations (tenant_id, user_id),登入跟 membership middleware 都會用到(#8818);另一個在organization_role_user_relations (tenant_id, organization_id, user_id),被getUserScopes跟每位用戶角色查詢用到(#8819)。 PUT /organizations/:id/users改用新型 delta 查詢,只寫真的變動過的行,而不是每次全部改一遍成員–同時保留沒刪掉用戶的角色指派(#8820)。
帳號中心與登入修正
- 從登入補註冊時的條款。 若協議策略為「僅限註冊需勾選同意」,用未註冊的 email 或手機登入、再點建立新帳號,現在會先提示條款同意才創帳——跟新註冊和社群/SSO 體驗一致(#8835)。
- 首次密碼設定。 沒有密碼、email 或手機的用戶,現可不用驗證記錄也能透過 Account API 設定第一組密碼(#8746)。
- 靜默重新認證。 如果出現用戶資訊錯誤——比如換帳號但存有過期存取權杖,Account Center 會用
prompt=none進行重新認證,不會直接跳到登入畫面,感謝 @taka-guevara(#8785)。 - Session 逾期 & 社交回呼提示更乾淨。 過期的帳號中心 session 會直接跳轉,不會先閃過登入錯誤(#8830);社交連結回呼現在正確讀取
connectorId(#8758);兩步驗證的開關標籤也更清楚了(#8792)。 - i18n。 更正了「Passkey」在 MFA 中文翻譯,感謝 @rotempasharel1(#8870)。
新增接改善的連接器
這版加入三個連接器,也優化了其他好幾個——不少來自社群貢獻:
- MailJunky 電子郵件連接器,用於發送交易型認證信,感謝 @devadarshh(#8638)。
- SMSBao 短信連接器,支援國內手機認證,感謝 @wintbiit(#8871)。
- 阿里雲 SMS 認證服務 連接器,感謝 @CertStone(#8385)。
- 阿里雲 Direct Mail 現在支援 Direct Mail 區域設定(#8892)。
- 企業微信(WeCom) 通過額外 API 調用獲取更完整用戶資料,感謝 @liyujun-dev(#8191)。
- SMTP
auth現可省略user跟pass,這樣用來源(如 IP/VLAN)驗證的轉發不需偽造帳密(#8888)。 - Connector Kit 收緊電子郵件品牌網址判斷,避免含點縮寫被誤判,感謝 @aayushbaluni(#8747)。
給自架設用戶
以下這些專為 OSS 部署優化:
隔離網路管理員快速安裝。
install和db seed指令現在可以帶--dapc參數(別名--disable-admin-pwned-password-check)。Admin 租戶預設的密碼政策會啟用 Have I Been Pwned 洩漏檢查,每次密碼提交都會查api.pwnedpasswords.com——但當外網連不上時,就會卡在第一次管理員註冊。加上--dapc會跳過這項檢查,因此註冊管理員不再依賴對外網路。(感謝 @darcyYe, #8859)
直接從資料庫抓 admin 簽名金鑰。 OSS 部署現在直接從資料庫讀 admin 租戶簽名金鑰,不再需要額外 host/DNS 映射讓容器去拉自己的 OIDC 設定(#8869)。
必需升級資料庫。 v1.40.0 有資料庫結構變更(新組織關聯索引及新增內部欄位)。拉新版本後,務必先跑資料庫更新再啟動伺服器。詳見 升級教學。
開始體驗
要更新了嗎?看我們的升級教學獲得詳細指引。
完整更新清單,請往 GitHub 發布頁。

