建立組織 (Organization)
想像你正在打造一個多租戶應用程式(例如多租戶 SaaS 應用),服務眾多客戶,每個客戶都擁有專屬的租戶。
組織 (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)。