Delivery Access Token

최종 수정: 2026년 6월 25일

DeliveryAccessToken은 CDA(공개 전달)에서 발행된 콘텐츠를 읽을 때 쓰는 읽기용 토큰입니다. 웹사이트나 앱의 브라우저가 발행 콘텐츠를 가져올 때 이 토큰으로 CDA를 호출합니다. 발급할 때 SpaceRole 하나에 바인딩하며, 그 역할이 토큰의 읽기 범위(어떤 Content Type을 읽을 수 있는지)를 정합니다.

CMA에서 DeliveryAccessTokenSpace 하위 리소스이며, 경로는 /spaces/{spaceId}/delivery-access-tokens를 기준으로 합니다. 이 토큰은 브라우저(클라이언트)에 노출된 채로 동작하므로, 바인딩하는 역할은 반드시 필요한 Content Type만 읽는 최소 권한(least-privilege)으로 정해야 합니다(아래 보안: 최소 권한 바인딩 참조).

리소스 구조

다음은 DeliveryAccessToken을 생성했을 때의 응답입니다. sys(시스템 속성)에 토큰 값과 범위가 담기고, 본문에 namedescription이 있습니다.

{
  "sys": {
    "id": "3trmXRM3RqbgSnifyg7PUFQuOAqWOc",
    "type": "DeliveryAccessToken",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "createdBy": { "sys": { "id": "3trmXRM3RqbgSnifyg7PUFQsSPi0nt", "type": "Refer", "targetType": "User" } },
    "createdAt": "2026-06-18T09:24:23.156Z",
    "updatedBy": { "sys": { "id": "3trmXRM3RqbgSnifyg7PUFQsSPi0nt", "type": "Refer", "targetType": "User" } },
    "updatedAt": "2026-06-18T09:24:23.156Z",
    "accessToken": "DVRATbQ8mX2vK9pLs7Rf1Zt0Nc4Wd6Hg5Ua2Ee9Ck3PoYx8Bj6Hg5Ua2Ee9Ck3Po…",
    "scopes": ["DELIVERY"]
  },
  "description": "옷가게 쇼핑몰 공개 사이트용 읽기 전용 전달 토큰",
  "name": "웹사이트 공개 전달"
}

주요 키:

  • sys.id: DeliveryAccessToken의 고유 식별자입니다. 단일 조회·수정·삭제 경로의 {deliveryAccessTokenId}에 들어갑니다.
  • sys.accessToken: CDA 호출에 쓰는 비밀 토큰 값입니다. 발급 후 조회에서도 같은 값이 그대로 나오므로 노출에 주의해야 합니다(아래 보안 절 참조).
  • sys.scopes: 토큰의 권한 범위입니다. DeliveryAccessToken은 발급 시 항상 ["DELIVERY"]입니다.
  • name: 생성할 때 지정한 토큰 이름입니다(예: 웹사이트 공개 전달).
  • description: 토큰에 대한 설명입니다(선택).

위 예시의 accessToken은 비밀 값이라 예시 문자열로 대체했습니다. 실제로는 길고 불투명한 문자열이며, 발급한 뒤 다시 조회해도 같은 값이 나옵니다.

시스템 속성 (sys)

모든 DeliveryAccessToken은 공통 시스템 속성과 토큰 고유 속성을 sys 객체에 담습니다. space, createdBy, updatedByRefer 모양({ "sys": { "id", "type": "Refer", "targetType" } })으로 들어갑니다.

속성타입설명
idstring리소스 고유 식별자.
typestring리소스 종류. DeliveryAccessToken은 항상 "DeliveryAccessToken".
spaceRefer<Space>이 토큰이 속한 Space.
createdByRefer<User>생성한 사용자.
createdAtstring (date-time)생성 시각.
updatedByRefer<User>마지막으로 수정한 사용자.
updatedAtstring (date-time)마지막 수정 시각.
accessTokenstringCDA 호출에 쓰는 비밀 토큰 값. 발급 후 조회에도 그대로 나오므로 외부에 노출되지 않게 다뤄야 합니다.
scopesstring array토큰의 권한 범위. DeliveryAccessToken은 항상 ["DELIVERY"].

본문 속성:

속성타입설명
namestring (1~64)토큰 이름. 생성 시 지정합니다.
descriptionstring (≤128)토큰 설명. 선택입니다.

보안: 최소 권한 바인딩

DeliveryAccessToken은 브라우저와 방문자에게 노출된 채로 CDA를 호출하는 토큰입니다. 그래서 어떤 SpaceRole에 바인딩하느냐가 곧 이 토큰의 보안 경계가 됩니다.

  • 생성 요청의 role에는 필요한 Content Type만 읽는 최소 권한 SpaceRolesys.id를 넣습니다. 공개 전달에는 읽기 전용 역할을 권장합니다.
  • Administrator 역할을 절대 바인딩하지 않습니다. 이 토큰은 클라이언트에 노출되므로, 관리 권한이 달린 역할을 바인딩하면 그 권한이 그대로 외부에 새어 나갑니다. 또한 SpaceRole 목록의 첫 번째 항목을 무심코 쓰지 말고, 의도한 최소 권한 역할의 sys.id를 명시적으로 지정합니다.
  • accessToken은 발급 후에도 같은 값으로 조회되는 비밀 값입니다. 클라이언트 빌드에 안전하게 주입하되, 외부에 그대로 노출하지 않습니다.

(출처: weegloo-delivery-access-token 스킬·룰.)

API

아래 모든 엔드포인트의 기준 URL은 https://cma.weegloo.com/v1이며, Authorization 헤더에 CMA를 인증하는 Bearer 토큰이 필요합니다. DeliveryAccessToken의 수정·부분 수정에는 X-Weegloo-Version 헤더가 필요하지 않습니다.