Logto 產品更新
Logto v1.42.0 帶來自定義域名驗證文件、支援通配符模式的電郵允許清單、重設密碼魔法連結、Grant.LimitExceeded webhook,以及協議層面刷新,包括 node-oidc-provider v9、Koa 3,並預設啟用SSR F保護。
Logto v1.42.0 帶來自定義域名驗證文件、支援通配符模式的電郵允許清單、重設密碼魔法連結、Grant.LimitExceeded webhook,以及協議層面刷新,包括 node-oidc-provider v9、Koa 3,並預設啟用SSR F保護。
Logto v1.42.0 係一個著重域名同協議嘅版本。佢俾團隊唔使再開多一部機就可以驗證域名持有權,對輸入 tenant 嘅電郵進行更精細嘅管理,仲有俾最終用戶更順暢嘅重設密碼流程。底層方面,Logto 已升級至 node-oidc-provider v9 同 Koa 3,並預設啟用對外 OIDC 請求的 SSRF 保護。以下係新功能詳情:
第三方服務經常會要求你喺某個固定路徑放個細文件嚟驗證域名。如果用 Logto 自定義域名,之前通常要另外開台 server。
而家你可以喺 Console > Tenant settings > Domains 為已啟用嘅自定義域名加驗證文件。每份文件有:
/verify.txt),或者係 /.well-known/ 下面嘅路徑。text/plain 或 application/json。JSON 格式會喺儲存時驗證。每個域名最多設 10 份文件,而且路徑必須獨一無二。Logto 會根據設定提供精確的 GET 及 HEAD 請求回應,內容型態同回應強化設定一致。如果同一路徑有 Logto 原生路由,Logto 路由會有優先權,錯誤配置唔會影響真實 API endpoint。Console 操作介面已支援所有語言。
因為 Logto 完全唔會處理內容,呢個做法適用於任何服務嘅驗證流程,唔使 Logto 特別支援。
電郵阻擋政策進一步提升,成為更完備嘅電郵訪問規則,可於 Console > Security > Email blocklist 設定。
自定義電郵允許清單。 你可以設定一系列電郵地址、域名或者通配符模式組成嘅白名單。有設白名單的話,之後嘅新註冊或者更新 email,只會接受同白名單吻合的 email,無論係註冊定更新帳戶都一樣。
通配符模式。 白名單同黑名單都支援通配符地址或域名,例如 foo*@example.com、*@example.com、@*.example.com,仲支援完全吻合的地址 ([email protected]) 及域名 (@example.com)。
衝突提示。 如果白名單同時符合黑名單,或者白名單含有加號而又禁止 email subaddressing,仲有所有規則加起來冇 email 通過時,Console 都會提醒你。
匹配和驗證邏輯會經 @logto/core-kit 提供可重用 helper,保證每個 email 進入 tenant 嘅時候都遵循同一套規則。
Experience app 而家支援使用一次性 token 的魔法連結直接喺重設密碼頁面完成驗證,除咗驗證碼流程外多一種選擇。
Grant.LimitExceeded webhook 事件當 OIDC 授權超出應用程序最大授權數時,Logto 會觸發一個 Grant.LimitExceeded webhook 事件,可以喺 Console webhook 設定頁選擇。
payload 會報告 userId、applicationId、revokedGrantIds、maxAllowedGrants 同 preRevocationActiveGrantCount。該 webhook 用 fire-and-forget 模式:觸發失敗會被記錄成 TriggerHook.Grant.LimitExceeded 審計日誌,但唔會攔截認證回應。
最大改動係修復 token 撤銷漏洞。
撤銷一個 opaque access token 時,會同時撤銷該 grant 下所有其他 token,包括 refresh token。v8 版本撤銷後 refresh token 仲可以用嚟獲取新 access token。
v9 其他協議層更新:
unsupported_token_type,唔會像 v8 一樣返回成功但實際上冇撤銷。/oidc/.well-known/oauth-authorization-server 存取。at_hash claim。typ: "JWT" header。OpenID Connect 標準定義 ID token 就係 JWT,客戶端無需驗證 header。自定義 ID token 驗證需注意。 用官方 Logto SDK 嘅話唔使理。如果你有做自定義驗證 ID token,記得接受 at_hash claim 缺席同 typ: "JWT" header 缺席。
Logto 已運行在 Koa 3 呢條主力分支,可以最早收到 Koa 安全修復。預期所有 endpoint、OIDC 流程、API 回應同以前完全一樣,無需擔心用法變動。
identities 權限,對齊其他社交與企業 SSO 端點。rediss 協議的 Redis cluster 連接現已正確啟用 TLS。jose 依賴,裝 connector 再唔會拉冇用嘅套件。須操作事項 — OIDC provider SSRF 保護。 出站安全加強,SSRF 保護現已預設啟用。如需要自行部署、且必須連接内部網 trusted party,記得設定 OIDC_PROVIDER_SSRF_PROTECTION_DISABLED=true 才開 Logto,否則建議維持預設無改動。
必須進行資料庫遷移。 此版本帶有自定義域名驗證文件、內部 index 同 table 結構變更。升級之後務必先執行資料庫變更指令(用 @logto/cli/core image 執行 npm run alteration deploy,或者直接執行 logto db alteration deploy),再啟動新版。詳細情況請睇 升級指南。
自定義 ID token 驗證。 關於 at_hash 及 typ header 內容變動請見上文 node-oidc-provider v9 章節。
非常感謝以下貢獻者為本次版本帶來功能:
Grant.LimitExceeded webhook 事件 (#9230) 同密碼less connector 可交易性替換 (#9277)rediss TLS 修正 (#9144)準備好升級未?各步請參考 升級指南。
想睇完整改動清單,請到 GitHub 發布頁。