跳至主要內容

建立組織 (Organization)

想像你正在打造一個多租戶應用程式(例如多租戶 SaaS 應用程式),服務眾多客戶,每個客戶都擁有專屬的租戶。當有新客戶加入時,他們會建立一個新帳號,以及一個屬於自己業務的新租戶。

就像你註冊 Logto Cloud 帳號並擁有自己的 Logto 租戶一樣。你也可以在自己的應用程式中,利用 Logto 的「組織 (Organization)」功能實現相同架構。

建立你的組織 (Organizations)

你可以透過兩種方式為你的應用程式建立組織 (Organizations)。

透過 Logto Console 建立

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

如果你想要批次建立多個擁有相同角色與權限設定的組織,可以建立「組織範本 (Organization template)」。

透過 Logto Management API 建立

在 Console UI 上點擊按鈕很方便,但我們更希望最終使用者能自助建立組織,並在你的應用程式中自行管理組織。因此,你需要在應用程式中實作這些功能,並搭配 Logto Management API。

備註:

如果你尚未熟悉 Logto Management API,請務必先閱讀以下文件。

Management APIInteract with Management API

假設你已經透過機器對機器 (M2M, Machine-to-Machine) 機制,將 API 後端伺服器連接到 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}'

回應範例(201)

{
"tenantId": "string",
"id": "string",
"name": "string",
"description": "string",
"customData": {},
"isMfaRequired": false,
"branding": {
"logoUrl": "string",
"darkLogoUrl": "string",
"favicon": "string",
"darkFavicon": "string"
},
"createdAt": 1234567890
}

接下來,你可以為你的應用程式實作自己的 API。當使用者在你的應用程式中執行「建立組織」動作時,你可以先檢查他們的權限,然後呼叫 Logto Management API 完成後續流程。

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

在你的應用程式中,當使用者在組織 (Organization) 的情境下執行操作時,他們需要使用組織權杖 (Organization token),而不是一般的存取權杖 (Access token)。組織權杖是一種特殊的 JWT,其中包含組織權限。就像任何 JWT 存取權杖 (Access tokens) 一樣,你可以解碼權杖宣告 (Claims),並驗證 "scope" 宣告來進行權限檢查。

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