繁體中文(台灣)
  • logto
  • management-api
  • api
  • machine-to-machine
  • organization
  • user-profile
  • user-search
  • audit-log
  • migration

探索 Logto 管理 API 的全部潛力

在本文中,我們會重新強調 Logto 管理 API 的定義,解釋其運作原理,並展示典型場景以提高你的生產力並解鎖更多使用案例。

Guamian
Guamian
Product & Design

作為基礎設施服務,我們致力於使使用 Logto 管理 API 更加簡便快捷。我們最近更新了指南和教程。在本文中,我們會重新強調 Logto 管理 API 的定義,解釋其運作原理,並展示典型場景以提高你的生產力並解鎖更多使用案例。

什麼是 Logto 管理 API

Logto 管理 API 是一套強大的預構建 API,讓開發者擁有完全控制權,可以自定義實現以滿足其產品需求和技術堆棧。

它列在 API 資源列表中,無法刪除或修改。你在 Logto 管理控制台中可以做的所有事情,都可以通過 Logto 管理 API 完成。

它的識別符格式為 https://[tenant-id].logto.app/api

Logto 管理 API

Logto 管理 API - 2

它默認包含 all 權限。隨著 Logto 的增長,我們將繼續使權限更加細化。

使用 Logto 管理 API,你可以訪問 Logto 強大的後端服務,這些服務具有高度可擴展性,可以在多種場景中使用。要了解可用的 API,請訪問 Logto API 參考資料

使用管理 API 的典型場景

我們的開發者已經使用我們的管理 API 實現了許多附加功能。我們相信我們的 API 具有高度的可擴展性,可以支持你的廣泛需求。以下是一些 Logto 管理控制台中無法實現但可以通過管理 API 實現的場景示例。

使用自定義界面實現用戶資料

Logto 目前不提供用戶資料的預構建界面解決方案。我們認識到用戶資料密切與業務和產品屬性相關。在我們確定最佳方法的同時,我們建議使用我們的 API 創建你自己的解決方案。例如,你可以利用我們的交互 API、資料 API 和驗證代碼 API 開發符合需求的自定義解決方案。我們已為教程和指南準備了一個專用頁面 用戶資料

一個有趣的例子是,Logto Cloud 用戶資料功能是使用 Logto 管理 API 構建的。

帳戶設置

使用自定義界面實現組織管理

如果你使用 組織 功能構建你的多租戶應用程序,你可能需要 Logto 管理 API 進行像組織邀請和成員管理等任務。

同樣,Logto Cloud 邀請和協作功能也是使用 Logto 管理 API 構建的。

組織

邀請成員加入組織

在這個案例中,對於你的 SaaS 產品,如果租戶中有管理員和成員,Logto 管理 API 可以幫助你創建一個符合業務需求的自定義管理門戶。查看此處以了解更多詳情。

高級用戶搜索

Logto 管理控制台支持基本的搜索和過濾功能。如果你需要更多高級選項來定制你的用戶管理服務以滿足業務需求,可以使用 Logto 管理 API。它支持高級搜索選項,例如:

  1. 模糊搜索
  2. 精確匹配
  3. 區分大小寫
  4. 指定字段

查看我們的 高級用戶搜索 教程和指南。

利用 Logto 的日誌來構建你自己的服務

Logto 的審計日誌允許你輕鬆監控用戶活動和事件。它為各種用戶管理和健康檢查業務場景提供了堅實的基礎。

審計日誌

通過利用管理 API,你可以訪問實時審計日誌數據。這允許你使用從 Logto 獲得的日誌數據設計自己的模式模型和儀表板。

遷移並將用戶導入到 Logto

使用管理 API 可以輕鬆幫助你導入用戶數據,特別是當你想要遷移到 Logto 時。

在你準備好用戶數據並設置密碼哈希用戶模式後,設置管理 API 連接,我們會調用 create user API 來導入用戶數據。了解更多關於遷移的資訊,查看這份文件

如何訪問 Logto 管理 API

創建一個 M2M 應用程序

選擇 M2M 種類的應用程序並開始創建過程。創建後,你將被引導到一個模塊,可以在其中分配機器對機器角色。

提供名稱和描述後,你會看到一個模塊要求你分配角色。這個模塊包括所有 M2M 角色,顯示 Logto 圖標的角色表示這些角色包含 Logto 管理 API 權限。

分配 M2M 角色包含 Logto 管理 API 權限給你的 M2M 應用程序。

分配 M2M 角色

為什麼使用機器對機器並分配角色?

為什麼 Logto 允許 M2M(機器對機器)通信調用 Logto 管理 API,而不是使用 API 密鑰?

Logto 處理客戶身份管理,並嚴格遵循開放標準,如 OAuth 2.0 和 OpenID Connect。M2M 令牌提供安全的服務器對服務器交互,具有特定範圍,提供比靜態 API 密鑰更好的安全性。與 API 密鑰不同的是,M2M 令牌具有定義的過期時間,限制了潛在濫用的窗口。

在 Logto 中,我們使用基於角色的訪問控制(RBAC)來保護和管理對 Logto 管理 API 的訪問。這個實體圖顯示了它的工作原理。

權限、API 資��源、角色和機器對機器應用程序的關係。

權限、API 資源、角色和機器對機器應用程序的關係。

獲取訪問令牌

有關訪問令牌請求的基礎知識

M2M 應用程序向令牌端點發出 POST 請求,以獲取訪問令牌,方法是使用 application/x-www-form-urlencoded 格式在 HTTP 請求實體中添加以下參數:

  • 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,這將是你在訪問令牌請求正文中使用的資源值。

管理 API 狀態

在訪問 Logto 管理 API 之前,確保你的 M2M 應用程序已被分配具有此內建“Logto 管理 API”資源的 M2M 角色,且包含 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 為你的項目服務。