Logto 產品更新(2024 年 8 月)
探索我們 2024 年 8 月推出的版本,包含用戶模擬、應用程式機密管理、組織和應用層級的登入體驗品牌化等更多功能。
用戶模擬(RFC 8693:OAuth 2.0 令牌交換)
新增通過令牌交換的用戶模擬支持:
- 新的管理 API 端點
POST /subject-tokens用於請求subject_token以供令牌交換使用。 - 更新 OIDC
POST /oidc/token端點,新增授權類型urn:ietf:params:oauth:grant-type:token-exchange以交換用戶模擬的access_token。
詳情請查看用戶模擬。
應用層級的 custom_data
為應用程式新增了任意對象欄位 custom_data。此欄位可以存儲標準 Application 模式中未定義的任何附加資訊。
點擊展開管理 API 更新
- 新的
PATCH /api/applications/{applicationId}/custom-data端點用於更新應用程式的custom_data欄位。 - 更新
PATCH /api/applications/{applicationId}端點以允許覆蓋custom_data欄位。
點擊展開控制台更新
在應用程式詳情頁面新增了一個自定義資料 JSON 編輯器(保護應用除外)。
多重應用機密管理
安全應用程式(機器對機器傳統 Web、保護的)現在可以擁有多重具有到期日的應用機密。這允許進行機密輪換並提供更安全的體驗。
注意:此功能推出前創建的舊機密仍可用於客戶端身份驗證。但是,建議刪除舊機密並創建具有到期日的新機密以提高安全性。
點擊展開管理 API 更新
GET /api/applications/{applicationId}/secrets:列出應用程式的所有機密。POST /api/applications/{applicationId}/secrets:為應用程式創建新的機密。DELETE /api/applications/{applicationId}/secrets/{name}:按名稱刪除應用程式的一個機密。PATCH /api/applications/{applicationId}/secrets/{name}:按名稱更新應用程式的一個機密。DELETE /api/applications/{applicationId}/legacy-secret:刪除應用程式的舊機密並替換為新的。
點擊展開控制台更新
要管理你的應用機密,請前往 Logto 控制台 -> 應用 -> 應用程式詳情 -> 端點和憑證。
原來的應用機密只讀輸入欄位現在已被新的機密管理表取代。在此表中你可以創建、更新和刪除機密。
組織和應用層級的品牌設置
組織標誌
現在可以為組織設置淺色和深色標誌。你可以在組織設置頁面上傳標誌。
同樣的,可以通過組織覆蓋默認的登入體驗標誌。只需在身份驗證請求中添加 organization_id 參數。在大多數 Logto SDK 中,可以在 signIn 方法中使用 extraParams 欄位來完成。
例如,在 JavaScript SDK 中:
值 <organization-id> 可以在組織設置頁中找到。
如果你無法在正在使用的 SDK 中找到 extraParams 欄位,請告訴我們。
應用層級品牌設置
你現在可以為你的應用設置標誌、favicon 和顏色。這些設置將在應用啟動身份驗證流程時用於登入體驗。對於沒有品牌設置的應用,將使用通用登入體驗品牌設置。
如果在身份驗證請求中提供了 organization_id,應用層級的品牌設置將被組織的品牌設置覆蓋(如果有的話)。
性能提升
支持體驗應用服務器端渲染
Logto 現在將登入體驗設置和短語注入 index.html 文件,以改善首屏性能。如果:
- 服務器沒有注入設置和短語。
- URL 中的參數與服務器渲染的資料不同。
體驗應用仍會從服務器獲取設置和短語。
包構建改進
- 使用
tsup構建連接器包。這將使構建過程更快,並且不應影響包的功能。 - 對
@logto/console、@logto/demo-app和@logto/experience包使用Vite進行轉譯和打包。移除 ParcelJS 並用 Vite 替代。不應預期有不兼容更改。
錯誤修正
修正 PATCH /api/applications/{applicationId} 端點的 jsonb 更新行為
所有 Application 對象的 jsonb 欄位都應以 replace 模式而非 merge 模式更新。此更改將使 PATCH 方法更具預測性,並符合 Restful API 設計。
- 將
PATCH /api/applications/{applicationId}端點中的 jsonb 欄位更新模式從merge變更為replace。 - 將
PATCH /api/applications/{applicationId}端點中的 API jsonb 欄位輸入參數驗證從partial變更為full。 - 受影響的欄位:
oidc_client_metadata、custom_client_metadata、protected_app_metadata和custom_data。
注意:如果你使用 Logto 控制台更新
Application設置,不應受到此更改影響。使用PATCH方法更新Applicationjsonb 欄位設置的 API 使用者應注意此更改。PATCH方法現在將以新的輸入資料替換整個 jsonb 欄位。任何受影響欄位的部分輸入資料都將被拒絕。
修正某些 webhook 事件有效負載總是返回 API 響應狀態 404 的問題
受影響的 webhook 事件:Role.Scopes.Updated、Organizations.Membership.Updates。
Webhook 事件負載返回的 API 響應狀態碼總是 404。這是由於在設置 API 響應上下文之前插入 webhook 事件負載所致。
因為我們只有在事件成功處理時才觸發 webhook,所以狀態碼應始終為 2xx。
此問題已通過在設置 API 響應上下文後插入 webhook 事件負載來修正。
其他改進
- 現在可以在登入體驗品牌設置中為深色主題設置 favicon。
- 新增密碼摘要算法:
Argon2d和Argon2id。使用這些算法的用戶將在成功登入時移行到Argon2i。 @logto/experience的瀏覽器清單配置已與README.md中的聲明同步。- 改善 swagger 驗證描述。使用原生 OpenAPI OAuth2 安全方案代替自定義 HTTP 標頭安全方案。

