Delivery Access Token

最后更新:2026年6月22日

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.idDeliveryAccessToken 的唯一标识符。用于单条查询、修改、删除路径中的 {deliveryAccessTokenId}
  • sys.accessToken:调用 CDA 时使用的密钥令牌值。签发后再次查询也会原样返回同一个值,因此需注意避免暴露(参见下文安全章节)。
  • sys.scopes:令牌的权限范围。DeliveryAccessToken 在签发时始终为 ["DELIVERY"]
  • name:创建时指定的令牌名称(例如 网站公开交付)。
  • description:对令牌的说明(可选)。

上例中的 accessToken 是密钥值,因此已替换为示例字符串。实际为一段较长的不透明字符串,签发后再次查询会返回同一个值。

系统属性 (sys)

每个 DeliveryAccessToken 都在 sys 对象中包含通用系统属性和令牌专有属性。spacecreatedByupdatedByRefer 形式({ "sys": { "id", "type": "Refer", "targetType" } })出现。

属性类型说明
idstring资源的唯一标识符。
typestring资源种类。DeliveryAccessToken 始终为 "DeliveryAccessToken"
spaceRefer<Space>该令牌所属的 Space
createdByRefer<User>创建该资源的用户。
createdAtstring (date-time)创建时间。
updatedByRefer<User>最后一次修改的用户。
updatedAtstring (date-time)最后一次修改的时间。
accessTokenstring调用 CDA 时使用的密钥令牌值。签发后再次查询也会原样返回,因此须妥善处理以免向外部暴露。
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 头。

  • SpaceRole:定义要绑定到该令牌的角色(读取范围)。
  • CDA 概览:用该令牌读取已发布内容的传递 API。
  • Personal Access Token:用于服务器与 CI 的 Weegloo User 令牌。