跳至主要內容

建立組織 (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,請先閱讀:

Management APIInteract with 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)