跳至主要內容

建立組織 (Organization)

想像你正在打造一個多租戶應用程式(例如多租戶 SaaS 應用),服務眾多客戶,每個客戶都擁有專屬的租戶。

組織 (Organization) 通常在以下情境下建立:

  1. 新客戶註冊時,同時為其企業建立帳號與租戶。
  2. 現有使用者可在應用程式內建立新組織。
新帳號建立組織 (New account creates organization) 現有使用者建立組織 (Existing user creates organization)

實作組織建立流程​

你可以用兩種方式為應用程式建立組織。

透過 Logto Console 建立​

在 Logto Console UI 中手動建立組織。前往 Console > Organizations 建立組織、指派成員與角色,並自訂組織登入體驗。

建立 組織範本 (Organization template) 以批次建立擁有相同角色與權限的組織。

透過 Logto Management API 建立​

Console 適合手動設置,但大多數應用程式會讓終端使用者自助操作——直接在你的應用中建立與管理組織。要實現這些功能,請使用 Logto Management API。

備註:

如果你是第一次接觸 Logto Management API,或尚未閱讀如何用 Logto Management API 實現組織體驗的基礎介紹,請先閱讀:

使用 Logto Management API 設定你的應用服務

Management API與 Management API 互動

假設你的後端已透過機器對機器 (M2M, Machine-to-Machine) 機制連接 Logto Management API,並取得 M2M 存取權杖 (Access token)。

使用 Management API 建立組織(API 參考文件):

curl \
-X POST https://[tenant_id].logto.app/api/organizations \
-H "Authorization: Bearer $M2M_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"tenantId":"string","name":"string","description":"string","customData":{},"isMfaRequired":false,"branding":{"logoUrl":"string","darkLogoUrl":"string","favicon":"string","darkFavicon":"string"},"createdAt":1234567890}'

接著將使用者加入組織成員(API 參考文件):

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/users \
-H "Authorization: Bearer $M2M_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"userIds":["string"]}'

你也可以選擇性地指派特定組織角色給使用者(API 參考文件)。

更多細節請參閱 完整 API 規格。

建議將這些呼叫包裝在你自己的 API 層。當使用者在你的應用中執行「建立組織」動作時,先檢查其權限,再呼叫 Logto Management API 完成操作。

驗證使用者請求中的組織權杖 (Organization token)​

在你的應用中,當使用者在組織情境下執行操作時,必須使用組織權杖 (Organization token),而非一般存取權杖 (Access token)。組織權杖是一個 JWT,內含組織權限。與任何 存取權杖 (Access token) 一樣,你可以解碼宣告 (Claims) 並驗證 "scope" 宣告以強制執行權限。

更多授權 (Authorization) 情境與組織權杖驗證方式,請參閱 授權 (Authorization)。