콘텐츠로 이동

권한 관리

권한 종류

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"
}