探索 Logto 管理 API 的全部潛力
在這篇文章中,我們將重新強調 Logto 管理 API 的定義,解釋它的運作原理,並展示一些典型情境,以提高你的生產力並解鎖更多使用案例。
作為基礎設施服務,我們努力讓使用 Logto 管理 API 變得更簡單、更快速。我們最近更新了指南和教程。在這篇文章中,我們將重新強調 Logto 管理 API 的定義,解釋它的運作原理,並展示一些典型情境,以提高你的生產力並解鎖更多使用案例。
Logto 管理 API 是什麼
Logto 管理 API 是一組強大的預構建 API,為開發者提供全面的控制權,以自定義其實現以適應其產品需求和技術堆疊。
它在 API 資源列表中列出,不能被刪除或修改。你在 Logto Admin Console 可以做到的一切,也能用 Logto 管理 API 完成。
它的識別碼模式為 https://[tenant-id].logto.app/api
默認情況下,它包括 all
權限。隨著 Logto 的成長,我們將繼續使權限更具細化。
通過 Logto 管理 API,你可以訪問 Logto 的強大後端服務,這些服務具高度可擴展性,並可在多種場景中使用。如需了解可用的 API,請訪問 Logto API 參考。
使用管理 API 的典型情境
我們的開發者已經使用我們的管理 API 實現了許多附加功能。我們相信我們的 API 高度可擴展,可以滿足你的廣泛需求。以下是一些無法僅通過 Logto Admin Console 達成,但可以通過管理 API 實現的場景示例。
使用自定義 UI 實現用戶檔案
Logto 當前不提供用戶檔案的預構建 UI 解決方案。我們認識到,用戶檔案與業務和產品屬性密切相關。在我們確定最佳方法的同時,我們建議使用我們的 API 創建你自己的解決方案。例如,你可以利用我們的互動 API、檔案 API 和驗證碼 API 開發一個滿足你需求的自定義解決方案。我們準備了一個專門頁面用戶檔案提供教程和指南。
一個有趣的例子是,Logto Cloud 的用戶檔案功能是使用 Logto 管理 API 構建的。
使用自定義 UI 實現組織管理
如果你正在使用 組織 功能構建你的多租戶應用程序,你可能需要 Logto 管理 API 進行組織邀請和成員管理之類的任務。
同樣,Logto Cloud 的邀請和協作功能也是使用 Logto 管理 API 構建的。
為了擴展該案例,對於你的 SaaS 產品,當中有管理員和成員在租戶中,Logto 管理 API 可以幫助你創建一個自定義管理員門戶,以滿足你的業務需求。查看這篇以了解更多詳情。
高級用戶搜索
Logto Admin Console 支持基本的搜索和過濾功能。如果你需要更高級的選項來定制你的用戶管理服務以適應你的業務需求,可以使用 Logto 管理 API。它支持高級搜索選項,例如:
- 模糊搜索
- 精確匹配
- 大小寫敏感
- 指定字段
查看我們的 高級用戶搜索 教程和指南。
利用 Logto 的日誌來構建自己的服務
Logto 的審計日誌讓你可以輕鬆監控用戶活動和事件。它為各種用戶管理和健康檢查業務場景提供了堅實的基礎。
通過使用管理 API 你可以訪問實時審計日誌數據。這使你能使用從 Logto 獲取的日誌數據設計自己的模式模型和儀表板。
遷移和導入用戶到 Logto
使用管理 API 可以輕鬆幫助你導入用戶數據,特別是當你想要進行遷移到 Logto 的時候。
在你準備用戶數據並設置密碼哈希和用戶模式後,設置管理 API 連接,我們會調用創建用戶 API 來導入用戶數據。要了解有關遷移的更多信息,請查看這篇文檔。
如何訪問 Logto 管理 API
創建 M2M 應用程序
選擇 M2M 應用程序類型並開始創建過程。創建後,你將進入一個可以分配機對機角色的模塊。
提供名稱和描述後,你將看到一個要求你分配角色的模塊。該模塊包括所有 M2M 角色,由 Logto 圖標指示的角色意味著這些角色包括 Logto 管理 API 權限。
分配 M2M 角色為你的 M2M 應用程序包含 Logto 管理 API 權限。
為什麼使用機對機並分配機對機角色?
為什麼 Logto 允許 M2M(機對機)通訊調用 Logto 管理 API,而不是使用 API 密鑰?
Logto 處理客戶身份管理並忠實於開放標準,如 OAuth 2.0 和 OpenID Connect。M2M 令牌提供具有特定範圍的安全服務器對服務器交互,提供比靜態 API 密鑰更好的安全性。與 API 密鑰不同,它們不過期,如果被滲透,風險更高,而 M2M 令牌有定義好的過期時間,限制了潛在錯誤使用的時窗。
在 Logto 中,我們使用基於角色的訪問控制(RBAC)來保護和管理對 Logto 管理 API 的訪問。此實體圖顯示了它是如何工作的。
權限、API 資源、角色和機對機應用程序的關係。
獲取訪問令牌
訪問令牌請求的基礎知識
M2M 應用程序發出一個 POST
請求到令牌端點以通過在 HTTP 請求正文中使用 application/x-www-form-urlencoded
格式添加以下參數獲取訪問令牌:
- grant_type:必須設置為
client_credentials
- resource:你想要訪問的資源指示器
- scope:訪問請求的範圍
你還需要包括你的 M2M 憑據以便令牌端點驗證你的 M2M 應用程序。這是通過在 Authorization
標頭中添加 基本身份驗證來實現的,其中用戶名是 App ID,密碼是 App Secret。
你可以從你的 M2M 應用程序詳細信息頁找到 App ID 和 App Secret:
Logto 管理 API 訪問令牌請求的一個例子是:
為 Logto 管理 API 獲取訪問令牌
Logto 提供了一個內建 "Logto 管理 API" 資源,它是一個具有 "all" 權限的只讀資源,可以訪問 Logto 管理 API,你可以在 API 資源列表中看到它。資源 API 指示器的模式為 https://{YOUR_TENANT_ID}.logto.app/api
,這將是你在訪問令牌請求正文中使用的資源值。
在訪問 Logto 管理 API 前,請確保你的 M2M 應用程序已分配內建 "Logto 管理 API" 資源中的 all
權限。
現在,組合我們所收到的一切並發送請求:
令牌響應
成功響應主體可能是:
使用訪問令牌訪問 Logto 管理 API
你可能注意到令牌響應中有一個 token_type
字段,它被固定為 Bearer
。因此,你應該將訪問令牌放在 HTTP 標頭的 Authorization
字段中,使用 Bearer 格式(Bearer YOUR_TOKEN
)。
現在,你可以通過請求 Logto 管理 API 端點 https://[your-tenant-id].logto.app/api
訪問 Logto 管理 API,以獲取 Logto 中的所有應用程序
相關資源
以下是一些相關資源,深入探討了我們先前對使用 Logto 管理 API 的見解和策略。這些材料涵蓋了各個方面,包括最佳實踐、實施提示和使用案例,以幫助你充分利用 Logto 管理 API 為你的項目服務。