Personal Access Token
最后更新:2026年7月3日
PersonalAccessToken 是 Weegloo 平台账户(Weegloo User)在服务器、CI 或脚本中以自身权限调用 CMA、Upload、CDA 时所使用的长期令牌。与浏览器登录流程每次签发的短期令牌不同,它一经签发便会持续有效,直到被删除为止。
PersonalAccessToken 绑定在用户账户上,而非绑定在 Space 上。因此其端点不位于 /spaces/{spaceId} 之下,而是位于顶层的 /personal-access-tokens 路径,路径变量中也没有 spaceId。使用此令牌的调用方,会在该用户加入的所有 Space 中,按各 Space 的 SpaceRole 所定义的权限范围进行操作。
资源结构
下面是创建 PersonalAccessToken 时的响应。sys(系统属性)中包含令牌值与作用域,正文中包含 name。
{
"sys": {
"id": "5KmQ2pVnRb8sTfWcXd3LhJ9gAe",
"type": "PersonalAccessToken",
"createdBy": { "sys": { "id": "2bN7kRpQ9mWx4Lt6Vy0Cf3Hs8", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-06-18T11:41:47.409Z",
"updatedBy": { "sys": { "id": "2bN7kRpQ9mWx4Lt6Vy0Cf3Hs8", "type": "Refer", "targetType": "User" } },
"updatedAt": "2026-06-18T11:41:47.409Z",
"accessToken": "PSNAT5SCq8Lm2vK9pXfR1Zt0Nc4Wd6Hg5Ua2Ee9Ck3PoYx8Bj6Hg5Ua2Ee9Ck3Po…",
"scopes": ["PERSONAL"]
},
"name": "商品同步服务器"
}主要键:
sys.id:PersonalAccessToken 的唯一标识符。会填入单条查询、删除路径的{personalAccessTokenId}。sys.accessToken:用于 API 调用的密钥令牌值。不仅创建响应中会返回,之后的查询响应中也会原样返回相同的值,因此需要注意防止泄露(参见下方的安全章节)。sys.scopes:令牌的权限作用域。PersonalAccessToken 在签发时始终为["PERSONAL"]。name:创建时指定的令牌名称(例如商品同步服务器)。
上例中的 accessToken 因为是密钥值,已替换为示例字符串。实际值是以 PSNAT 开头的一长串不透明字符串,签发后再次查询也会返回相同的值。
系统属性 (sys)
每个 PersonalAccessToken 都会在 sys 对象中包含公共系统属性以及令牌特有属性。createdBy、updatedBy 以 Refer 形态({ "sys": { "id", "type": "Refer", "targetType" } })出现。此资源没有 space。因为它不绑定在 Space 上,而是绑定在用户账户上的用户级令牌。
| 属性 | 类型 | 说明 |
|---|---|---|
id | string | 资源唯一标识符。 |
type | string | 资源类型。PersonalAccessToken 始终为 "PersonalAccessToken"。 |
createdBy | Refer<User> | 创建该资源的用户。 |
createdAt | string (date-time) | 创建时间。 |
updatedBy | Refer<User> | 最后修改该资源的用户。 |
updatedAt | string (date-time) | 最后修改时间。 |
accessToken | string | 用于 API 调用的密钥令牌值。创建响应与查询响应中都会原样返回,因此必须谨慎处理以防外泄。 |
scopes | string array | 令牌的权限作用域。PersonalAccessToken 始终为 ["PERSONAL"]。 |
正文属性:
| 属性 | 类型 | 说明 |
|---|---|---|
name | string (1~64) | 令牌名称。创建时指定。 |
安全:不要泄露
PersonalAccessToken 原样持有该用户的身份。使用此令牌调用时,可以按该用户所有 Space 成员资格的 SpaceRole 权限来调用 CMA、Upload、CDA。由于权限范围广、生命周期长,一旦泄露,该用户的全部权限都会暴露。
- 以机密形式处理,确保不在任何地方泄露。 一旦泄露,该用户的全部权限便会落入外部之手。PersonalAccessToken 仅限服务器、CI 等受信任环境使用,绝不以明文形式留存于代码、日志、存储库或错误消息等任何位置。
- 不要放入浏览器或客户端代码。 下发到浏览器的值,用户可以直接查看,因而实际上等同于公开。在浏览器中运行的管理界面应使用通过内容工作室登录流程获取的短期令牌(仅限于界面会话)。
- 对外公开给访客的只读交付,使用绑定在最小权限(least-privilege)SpaceRole 上的 DeliveryAccessToken。不要在公开的客户端中使用 PersonalAccessToken。
accessToken不仅在创建时,在查询响应中也会原样返回相同的值。请注意不要将查询结果原样留在日志、界面或外部存储中。- 没有修改 API(没有 PUT、PATCH)。若要更换令牌,需删除现有令牌并重新签发。若怀疑发生泄露,应立即删除以使其失效,并更换为新令牌。
(来源:weegloo-user-login、weegloo-delivery-access-token 技能,.claude/rules/weegloo-api-endpoints.md。)
API
下列所有端点的基准 URL 均为 https://cma.weegloo.com/v1,并且需要在 Authorization 头中携带用于认证 CMA 的 Bearer 令牌。PersonalAccessToken 是用户级资源,因此路径中没有 spaceId。此外,由于没有修改 API,仅有列表、创建、单条查询、删除这四种。
相关文档
- Delivery Access Token:对外公开给访客的只读交付令牌(浏览器用)。
- SpaceRole:该用户在各 Space 中所拥有权限的范围。
