본문으로 건너뛰기

조직 관리

다중 테넌트 앱을 개발할 때, 일반적인 시나리오는 조직 구성원이 조직 리소스를 자체적으로 관리할 수 있는 플랫폼을 갖추는 것입니다.

여전히 관리자 역할과 일반 구성원 역할을 모두 포함하는 기본 조직 설정을 예로 들어보겠습니다.

역할권한
관리자조직 내에서 조직 구성원을 관리합니다. 예: 초대, 구성원 역할 업데이트, 구성원 삭제 등.
조직 정보를 관리합니다. 예: 조직 이름 및 사용자 정의 데이터 업데이트, 조직 삭제 등.
구성원조직에 사용자를 초대할 수만 있습니다.

따라서 다음과 같은 조직 템플릿을 정의할 수 있습니다:

조직 템플릿

조직 템플릿이 설정된 후, 특정 조직에서 관리 작업을 수행하기 위해 Management API를 호출하는 여러 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 엔드포인트의 전체 목록을 확인하고, 이를 통해 무엇을 더 할 수 있는지 확인하세요:

조직 가져오기

조직 스코프 가져오기

조직 역할 가져오기

조직 초대 가져오기