跳至主要內容

組織管理

在開發 多租戶應用程式時,一個常見的情境是為你的組織成員提供一個平台,以便自主管理他們的組織資源。

我們仍以包含管理員角色和普通成員角色的基本組織設置為例。

角色權限
Admin管理組織中的成員,例如邀請、更新成員角色、刪除成員等。
管理組織資訊,例如更新組織名稱和自訂資料、刪除組織等。
Member僅能邀請使用者加入組織。

因此,我們可以定義以下的 組織範本

組織範本

設定組織範本後,你還可以在服務中建立一系列 API,這些 API 在底層調用 Management API 以在特定組織中執行管理操作。你的服務中的 API 應驗證組織權杖,以確保使用者擁有所需的權限。

使用者自主管理其組織的範例

以下是一些你可以讓使用者在多組織應用程式中執行的操作:

讓所有人都能邀請成員:

你可以讓管理員和成員使用者邀請其他人加入組織。詳細的邀請成員資訊請參閱 此文件

管理員可以修改成員角色:

管理員可以有權限修改其他成員的角色。管理員還可以為組織創建更具體的角色,例如部門主管、專案經理、協調員等。這可以透過以下 Management API 實現:

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/users/{userId}/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"organizationRoleIds":["admin"]}'

或批量方式:

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/users/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"userIds":["userId1", "userId2"],"organizationRoleIds":["admin"]}'

將機器人添加到組織

你還可以實現功能,允許管理員使用者將機器人添加到特定組織。這可以先創建機器對機器 (M2M) 應用程式,然後將這些 M2M 應用程式作為機器人添加到組織中。

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/applications \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"applicationIds":["botAppId"]}'

然後你還可以為這些機器人分配組織角色。

curl \
-X POST https://[tenant_id].logto.app/api/organizations/{id}/applications/roles \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"applicationIds":["botApp1"],"organizationRoleIds":["botRoleId"]}'

使用 Management API 解鎖更多可能性

上述範例只是你可以透過 Management API 實現的眾多可能性之一。查看 Logto Management API 端點的完整列表,看看你還能用它們做什麼:

獲取組織

獲取組織權限範圍

獲取組織角色

獲取組織邀請