조직 생성
여러 고객을 서비스하는 다중 테넌트 앱 (예: 다중 테넌트 SaaS 앱)을 구축한다고 상상해보세요. 각 고객은 전용 테넌트를 소유합니다. 새로운 고객이 도착하면, 그들은 새로운 계정과 자신의 비즈니스를 위한 새로운 테넌트를 생성합니다.
마치 여러분이 Logto Cloud 계정을 등록하고 자신의 Logto 테넌트를 소유한 것처럼, Logto의 "조직" 기능을 사용하여 앱에서도 동일한 아키텍처를 구현할 수 있습니다.
조직 생성하기
앱을 위한 조직을 생성하는 두 가지 방법이 있습니다.
Logto Console을 통해 생성하기
Logto Console UI를 통해 수동으로 조직을 생성하세요. Console > Organizations로 이동하여 조직을 생성하고, 구성원과 역할을 할당하며, 조직 로그인 경험 UI를 사용자 정의하세요.
동일한 역할 및 권한 설정을 공유하는 유사한 조직을 일괄 생성하려면 "조직 템플릿"을 생성하세요.
Logto Management API를 통해 생성하기
Console UI에서 버튼을 클릭하는 것도 좋지만, 우리는 정말로 최종 사용자가 당신의 앱에서 스스로 조직을 생성하고 관리할 수 있기를 원합니다. 따라서 Logto Management 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 액세스 토큰처럼, 토큰 클레임을 디코딩하고 권한 확인을 위해 "스코프" 클레임을 검증할 수 있습니다.
자세한 내용은 다음 문서를 확인하세요:
조직 토큰 검증하기
API 보호하기