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 參數會在查詢約 10,000 筆時中斷資料筆數查詢,並回傳 Total-Number-Is-Capped: true 標頭,用於換取不會觸發 statement_timeout 的回應;而當超出上限時 Console 會自動切換為上一頁/下一頁分頁模式(#8796, #8802)。未帶該參數的預設行為不變。
Organization.Membership.Updated Webhook 以往只會告訴你「有成員狀態變化」,但不會說明變化細節。現在它會在所有會員端點的通知資料中直接傳遞異動內容——分別為 addedUserIds/removedUserIds 與 addedApplicationIds/removedApplicationIds,另外邀請接受及即時配置(如郵箱網域、企業 SSO JIT)事件也包含 addedUserIds(#8840)。
這是完全向後兼容且僅擴展的改進:如果異動內容空白就不出現該字段,批量操作時每個陣列最多 5000 筆(超出時請用 GET /organizations/:id/users 或 .../applications 對帳)。完整資料格式請見 Webhook 文件。這也取代了早期的社群提案——致謝 @chiche84(#8752)。
同時,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)(影響每次登入及中介軟體),另一個加在 organization_role_user_relations (tenant_id, organization_id, user_id)(影響 getUserScopes 與單用戶角色查詢)(#8818, #8819)。PUT /organizations/:id/users 改採差異查詢法,只會寫入實際異動的行數,不再每次重寫所有成員關係資料,並且保留未變動成員的原有角色設定(#8820)。prompt=none 靜默再驗證,而不是直接跳回登入畫面,感謝 @taka-guevara(#8785)。connectorId(#8758);雙步認證切換標籤也更清晰(#8792)。本次更新新增 3 個連接器,並升級多項現有連接器(其中多個來自社群貢獻):
auth 現可省略 user 及 pass,支援 IP/VLAN 驗證下無需偽造憑證(#8888)。幾項專為 OSS 部署優化的改動:
隔離網路下的管理員設置。
install及db seed指令現支援--dapc參數(或--disable-admin-pwned-password-check)。管理員租戶預設密碼政策開啟 Have I Been Pwned 與api.pwnedpasswords.com的密碼外洩檢查,每次密碼送出都會連線外部 API——當外部網路無法連線時會導致首次管理員註冊卡住。加上--dapc將會種下不啟用外洩密碼檢查的政策,管理員註冊不再仰賴網路。感謝 @darcyYe(#8859)。
從資料庫取得管理員簽名金鑰。 OSS 部署現在會直接從資料庫讀取管理員租戶的金鑰,不再需要 Logto 容器對外經由 DNS 設定回頭抓本地 OIDC 設定(#8869)。
需要遷移。 v1.40.0 帶來了資料庫結構異動(新組織關聯索引及內部欄位)。拉取新版後請先執行資料庫結構調整,然後再啟動伺服器。詳情見升級指引。
準備升級了嗎?請參考我們的 升級指引 按步驟操作。
完整更新清單請見 GitHub 發布頁。