繁體中文(香港)
  • 發布

Logto 產品更新(2024 年 8 月)

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

Simeng
Simeng
Developer

Stop wasting weeks on user auth
Launch secure apps faster with Logto. Integrate user auth in minutes, and focus on your core product.
Get started
Product screenshot

用戶模擬(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 標頭安全方案。