본문으로 건너뛰기

조직 생성

여러 고객을 대상으로 하는 멀티 테넌트 앱 (예: 멀티 테넌트 SaaS 앱)을 구축한다고 상상해 보세요. 각 고객은 전용 테넌트를 소유하게 됩니다. 새로운 고객이 오면, 그들은 새로운 계정과 자신의 비즈니스를 위한 새로운 테넌트를 생성합니다.

이는 여러분이 Logto Cloud 계정을 등록하고 자신만의 Logto 테넌트를 소유하는 것과 같습니다. Logto의 "조직" 기능을 사용하여 동일한 아키텍처를 여러분의 앱에도 구현할 수 있습니다.

조직 생성하기

앱을 위한 조직을 생성하는 방법은 두 가지가 있습니다.

Logto Console을 통한 생성

Logto Console UI를 통해 조직을 수동으로 생성할 수 있습니다. Console > Organizations로 이동하여 조직을 생성하고, 구성원과 역할을 할당하며, 조직 로그인 경험 UI를 맞춤화하세요.

동일한 역할 및 권한 설정을 공유하는 유사한 조직을 일괄 생성하려면 "조직 템플릿"을 생성하세요.

Logto Management API를 통한 생성

Console UI에서 버튼을 클릭하는 것도 좋지만, 실제로는 최종 사용자가 여러분의 앱에서 직접 조직을 생성하고, 조직을 스스로 관리할 수 있기를 원할 것입니다. 따라서 이러한 기능을 Logto Management API의 도움을 받아 앱에 구현해야 합니다.

노트:

Logto Management API에 익숙하지 않다면, 먼저 아래 문서를 반드시 읽어보세요.

Management APIManagement API와 상호작용하기

이미 API 백엔드 서버를 기계 간 (M2M) 메커니즘을 통해 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 액세스 토큰과 마찬가지로, 토큰 클레임을 디코딩하고 "scope" 클레임을 확인하여 권한 검사를 할 수 있습니다.

인가 (Authorization) 시나리오 및 조직 토큰 검증 방법에 대한 자세한 내용은 인가 (Authorization)를 참고하세요.