Delivery Access Token
최종 수정: 2026년 6월 25일
DeliveryAccessToken은 CDA(공개 전달)에서 발행된 콘텐츠를 읽을 때 쓰는 읽기용 토큰입니다. 웹사이트나 앱의 브라우저가 발행 콘텐츠를 가져올 때 이 토큰으로 CDA를 호출합니다. 발급할 때 SpaceRole 하나에 바인딩하며, 그 역할이 토큰의 읽기 범위(어떤 Content Type을 읽을 수 있는지)를 정합니다.
CMA에서 DeliveryAccessToken은 Space 하위 리소스이며, 경로는 /spaces/{spaceId}/delivery-access-tokens를 기준으로 합니다. 이 토큰은 브라우저(클라이언트)에 노출된 채로 동작하므로, 바인딩하는 역할은 반드시 필요한 Content Type만 읽는 최소 권한(least-privilege)으로 정해야 합니다(아래 보안: 최소 권한 바인딩 참조).
리소스 구조
다음은 DeliveryAccessToken을 생성했을 때의 응답입니다. sys(시스템 속성)에 토큰 값과 범위가 담기고, 본문에 name과 description이 있습니다.
{
"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, updatedBy는 Refer 모양({ "sys": { "id", "type": "Refer", "targetType" } })으로 들어갑니다.
| 속성 | 타입 | 설명 |
|---|---|---|
id | string | 리소스 고유 식별자. |
type | string | 리소스 종류. DeliveryAccessToken은 항상 "DeliveryAccessToken". |
space | Refer<Space> | 이 토큰이 속한 Space. |
createdBy | Refer<User> | 생성한 사용자. |
createdAt | string (date-time) | 생성 시각. |
updatedBy | Refer<User> | 마지막으로 수정한 사용자. |
updatedAt | string (date-time) | 마지막 수정 시각. |
accessToken | string | CDA 호출에 쓰는 비밀 토큰 값. 발급 후 조회에도 그대로 나오므로 외부에 노출되지 않게 다뤄야 합니다. |
scopes | string array | 토큰의 권한 범위. DeliveryAccessToken은 항상 ["DELIVERY"]. |
본문 속성:
| 속성 | 타입 | 설명 |
|---|---|---|
name | string (1~64) | 토큰 이름. 생성 시 지정합니다. |
description | string (≤128) | 토큰 설명. 선택입니다. |
보안: 최소 권한 바인딩
DeliveryAccessToken은 브라우저와 방문자에게 노출된 채로 CDA를 호출하는 토큰입니다. 그래서 어떤 SpaceRole에 바인딩하느냐가 곧 이 토큰의 보안 경계가 됩니다.
- 생성 요청의
role에는 필요한 Content Type만 읽는 최소 권한 SpaceRole의sys.id를 넣습니다. 공개 전달에는 읽기 전용 역할을 권장합니다. Administrator역할을 절대 바인딩하지 않습니다. 이 토큰은 클라이언트에 노출되므로, 관리 권한이 달린 역할을 바인딩하면 그 권한이 그대로 외부에 새어 나갑니다. 또한 SpaceRole 목록의 첫 번째 항목을 무심코 쓰지 말고, 의도한 최소 권한 역할의sys.id를 명시적으로 지정합니다.accessToken은 발급 후에도 같은 값으로 조회되는 비밀 값입니다. 클라이언트 빌드에 안전하게 주입하되, 외부에 그대로 노출하지 않습니다.
(출처: weegloo-delivery-access-token 스킬·룰.)
API
아래 모든 엔드포인트의 기준 URL은 https://cma.weegloo.com/v1이며, Authorization 헤더에 CMA를 인증하는 Bearer 토큰이 필요합니다. DeliveryAccessToken의 수정·부분 수정에는 X-Weegloo-Version 헤더가 필요하지 않습니다.
관련 문서
- SpaceRole: 이 토큰에 바인딩할 역할(읽기 범위)을 정의.
- CDA 개요: 이 토큰으로 발행 콘텐츠를 읽는 전달 API.
- Personal Access Token: 서버·CI용 Weegloo User 토큰.
