Logto 產品更新
🎉 介紹我們七月的新版本:Logto API SDK、 聯邦令牌儲存的秘密保管庫、透過帳戶 API 管理 TOTP 和備用代碼,還有更多精彩內容!
🎉 介紹我們七月的新版本:Logto API SDK、 聯邦令牌儲存的秘密保管庫、透過帳戶 API 管理 TOTP 和備用代碼,還有更多精彩內容!
一個用於與 Logto 管理 API 互動的 TypeScript SDK,支援客戶端憑證認證登入。
運作方式:
npm install @logto/apicreateManagementApi(),配合你的應用程式憑證創建一個型別化的管理 API 客戶端。重點功能:
秘密保管庫是 Logto 中專為管理敏感用戶資料(包括存取令牌、API 金鑰、密碼和其他機密資訊)而設計的安全儲存解決方案。這些秘密通常用於代表用戶存取第三方服務,因此安全儲存至關重要。
現在,社交及企業 SSO 連接器均支援令牌儲存。當啟用後,Logto 會在用戶成功認證後,儲存由身份提供者簽發的令牌集合。應用程式稍後可提取存取令牌——無需用戶再次認證——以呼叫第三方 API。
支援的連接器:
運作方式:
詳情請見秘密保管庫文件。
用戶現可透過帳戶 API 新增 TOTP 及備用代碼。
POST /api/my-account/mfa-verifications/totp-secret/generate:產生 TOTP 秘密。POST /api/my-account/mfa-verifications/backup-codes/generate:產生備用代碼。POST /api/my-account/mfa-verifications:使用已產生的秘密或代碼,新增 TOTP 或備用代碼。GET /api/my-account/mfa-verifications/backup-codes:查詢備用代碼。scope 參數。這可使你在呼叫 Logto 社交驗證端點 時,向社交服務申請更多權限。若有提供 scope,授權請求將採用該 scope,否則使用連接器設置中預設的 scope。organization_user_relations 資料表的租戶感知外鍵限制
問題
開發者可能錯誤地將來自其他租戶的 user_id 指派到某組織,導致組織用戶 API 端點出現 500 錯誤。原本的 organization_user_relations 資料表只針對 users (id) 設有外鍵限制,容許指派所有已存在的 user ID,無論是否同屬一個租戶。
根本原因
Logto 於全部資料表套用行級安全(RLS)來隔離租戶的資料存取。當將用戶資料表與 organization_user_relations 連接查詢時,租戶受限下現行租戶無法存取實際用戶資料,導致回傳為 null,觸發 500 伺服器錯誤。
解決方案
新增複合外鍵 (tenant_id, user_id),參照 users (tenant_id, id),以確保組織-用戶對應的租戶 ID 與用戶的租戶 ID 一致。這能於資料庫層面強制執行正確的租戶隔離。