Logto 產品更新
Logto v1.40.0 帶來了稽核日誌的時間範圍選擇器、更豐富的組織成員 WEBHOOK 載荷、大型組織效能大幅提升,還有多項自架設品質改進。
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)。沒給這參數時,一切保持原樣。
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)。prompt=none 進行重新認證,不會直接跳到登入畫面,感謝 @taka-guevara(#8785)。connectorId(#8758);兩步驗證的開關標籤也更清楚了(#8792)。這版加入三個連接器,也優化了其他好幾個——不少來自社群貢獻:
auth 現可省略 user 跟 pass,這樣用來源(如 IP/VLAN)驗證的轉發不需偽造帳密(#8888)。以下這些專為 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 發布頁。