friday-push-payload.mdx
20.6 KB
-
feat(push): 推送记录支持 HMAC 免登录查询 + API 文档补全 dryRun/limit 参数 · ec026cb2
对接反馈:① 文档站 API 参考没更新 ② 查推送记录还要登录,联调不便。 1) 新增 GET /pac/v1/push/logs(HMAC 验签,免登录) 复用宿主推送时已在用的 X-PAC-Host-Id / Timestamp / Signature 三件套,联调不必另开账号; GET 无 body,签名对空串算 hex(HMAC-SHA256(`<ts>.`, secret))。 **不是公开接口** —— 签名错误返回 10106,拿不到任何数据,不泄露宿主推送情况。 与登录态 /admin/host/self/push-logs 同一实现(sync.module 引入 AdminModule 复用 HostsService.getPushLogs,两模块无环),返回同一份数据。 2) API 文档补全:@Query 缺 @ApiQuery 导致 Swagger 采不到 —— push/rows 的 dryRun、 push/logs 的 limit 现已进 spec;重新 dump 静态 spec(apps/pac-docs/openapi/pac.json, 59 paths),文档站 API 参考随之更新。 3) 契约文档 §7.2 改写为「两种查法」:免登录(HMAC,联调推荐)+ 登录态,并说明签名对空串计算。 验证:正确签名返回推送记录、错误签名被拒(10106 签名不匹配);typecheck 干净,299 测试绿。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
luoqi committed