繁體中文(香港)
  • 發布

Logto 產品更新(2024 年 8 月)

探索我們 2024 年 8 月推出的版本,包含用戶模擬、應用程式機密管理、組織和應用層級的登入體驗品牌化等更多功能。

Simeng
Simeng
Developer

用戶模擬(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_metadatacustom_client_metadataprotected_app_metadatacustom_data

注意:如果你使用 Logto 控制台更新 Application 設置,不應受到此更改影響。使用 PATCH 方法更新 Application jsonb 欄位設置的 API 使用者應注意此更改。PATCH 方法現在將以新的輸入資料替換整個 jsonb 欄位。任何受影響欄位的部分輸入資料都將被拒絕。

修正某些 webhook 事件有效負載總是返回 API 響應狀態 404 的問題

受影響的 webhook 事件:Role.Scopes.UpdatedOrganizations.Membership.Updates

Webhook 事件負載返回的 API 響應狀態碼總是 404。這是由於在設置 API 響應上下文之前插入 webhook 事件負載所致。

因為我們只有在事件成功處理時才觸發 webhook,所以狀態碼應始終為 2xx。

此問題已通過在設置 API 響應上下文後插入 webhook 事件負載來修正。

其他改進

  • 現在可以在登入體驗品牌設置中為深色主題設置 favicon。
  • 新增密碼摘要算法:Argon2dArgon2id。使用這些算法的用戶將在成功登入時移行到 Argon2i
  • @logto/experience 的瀏覽器清單配置已與 README.md 中的聲明同步。
  • 改善 swagger 驗證描述。使用原生 OpenAPI OAuth2 安全方案代替自定義 HTTP 標頭安全方案。