Delivery Access Token
最后更新:2026年6月22日
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 令牌。
