권한 관리
권한 종류
SUPER_ADMIN
- 시스템 전체 관리자
- 모든 도메인에 대한 접근 및 관리 권한
- 모든 API 접근 가능
DOMAIN_ADMIN
- 특정 도메인의 관리자
- 해당 도메인에 대한 관리 권한
- 도메인 내 사용자 관리
- 도메인 설정 관리
- 도메인 통계 조회
DOMAIN_USER
- 일반 사용자
- 기본 권한
- 자신의 정보 조회/수정
- 추천인 등록
- 추천 트리 조회
API 권한 표
| API 엔드포인트 |
Method |
SUPER_ADMIN |
DOMAIN_ADMIN |
DOMAIN_USER |
| /v1/users |
POST |
✓ |
✓ |
✓ |
| /v1/users |
GET |
✓ |
✓ |
✓ |
| /v1/users/domain/:domain |
GET |
✓ |
자신의 도메인만 |
✗ |
| /v1/users/domain/:domain/stats |
GET |
✓ |
자신의 도메인만 |
✗ |
| /v1/users/:id/referrer |
PATCH |
✓ |
✓ |
✓ |
| /v1/users/:id/referral-tree |
GET |
✓ |
✓ |
✓ |
| /v1/users/domain/:domain/reward-rates |
GET |
✓ |
자신의 도메인만 |
✗ |
| /v1/users/domain/:domain/reward-rates |
PATCH |
✓ |
자신의 도메인만 |
✗ |
| /v1/users/admin/sales-stats |
GET |
✓ |
✗ |
✗ |
| /v1/users/admin/reward-stats |
GET |
✓ |
✗ |
✗ |
| /v1/users/admin/reward-rates |
GET |
✓ |
✗ |
✗ |
권한 검증 방법
JWT 토큰 기반 인증
Authorization: Bearer {access_token}
토큰 페이로드
{
"sub": "user_id",
"domain": "example.com",
"symId": "0x123...",
"role": "DOMAIN_ADMIN"
}
권한 제한 사항
SUPER_ADMIN
- 시스템 전체 설정 변경 가능
- 모든 도메인의 통계 조회 가능
- 도메인 관리자 지정 가능
- 전체 도메인의 수당 비율 설정 가능
DOMAIN_ADMIN
- 자신의 도메인 내에서만 관리 권한
- 도메인 사용자 목록 조회
- 도메인 통계 조회
- 도메인 수당 비율 설정
- 도메인 설정 관리
DOMAIN_USER
- 자신의 정보만 조회/수정 가능
- 추천인 등록은 한 번만 가능
- 자신의 추천 트리만 조회 가능
- 수당 정보 조회 가능
에러 응답
권한 없음
{
"statusCode": 403,
"message": "Forbidden resource",
"error": "Forbidden"
}
인증 실패
{
"statusCode": 401,
"message": "Unauthorized",
"error": "Unauthorized"
}
도메인 접근 제한
{
"statusCode": 403,
"message": "You don't have permission to access this domain",
"error": "Forbidden"
}