跳至主要內容

建立組織 (Organization)

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

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

建立你的組織

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

通過 Logto Console 建立

通過 Logto Console UI 手動建立你的組織。前往 Console > Organizations 以建立組織,分配成員和角色,並自訂組織登入體驗 UI。

如果你想批量建立具有相同 角色 (Role)權限 (Permission) 設定的類似組織,可以建立「組織模板 (Organization Template)」。

通過 Logto Management API 建立

在 Console UI 上點擊按鈕效果很好,但我們真正想要的是讓終端使用者自助創建組織,並在 你的應用程式 中自行管理組織。因此,你需要在應用程式中實現這些功能,並借助 Logto Management API。

備註:

如果你不熟悉 Logto Management API,請務必先閱讀這些文件。

Management APIInteract with Management API

假設你已經通過機器對機器 (M2M) 機制將 API 後端伺服器連接到 Logto Management API 端點,並獲取了 M2M 存取權杖。

使用 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 完成其餘工作。

驗證使用者請求中的組織權杖

在應用程式中,當使用者在組織的上下文中執行操作時,他們需要使用組織權杖,而不是常規的存取權杖。組織權杖是一種特殊的 JWT,包含組織權限。就像任何 JWT 存取權杖 (Access tokens) 一樣,你可以解碼權杖宣告並驗證「權限範圍 (Scope)」宣告以進行權限檢查。

查看這些文件以獲取更多詳細資訊:

驗證組織權杖 保護你的 API 使用 Postgres 實現多租戶