組織管理
在開發 多租戶應用程式時,一個常見的情境是為你的組織成員提供一個平台,以便自主管理他們的組織資源。
我們仍以包含管理員角色和普通成員角色的基本組織設置為例。
角色 | 權限 |
---|---|
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 端點的完整列表,看看你還能用它們做什麼:
獲取組織獲取組織權限範圍
獲取組織角色獲取組織邀請