回调签名校验
创建异步媒体任务时,传入客户自己的 callBackUrl 和独立的 callbackSecret(32–256 字符)。无需在账户设置页面申请 webhookHmacKey,也不要使用 API Key 作为回调密钥。
本站回调包含下列请求头:
| 请求头 | 含义 |
|---|---|
X-ModelFold-Event-Id | 稳定事件 ID,须与正文 eventId 一致 |
X-ModelFold-Timestamp | 本次投递的 Unix 时间戳,单位秒 |
X-ModelFold-Signature | 使用 callbackSecret 计算的 Base64 HMAC-SHA256 签名 |
签名覆盖完整原始请求体:
text
Base64(HMAC-SHA256(callbackSecret, timestamp + "." + eventId + "." + rawRequestBody))先获取原始字节并验签,再解析 JSON。校验时间戳偏差不超过五分钟,使用恒定时间比较签名;业务按 eventId 持久化去重。重复投递沿用相同事件 ID 和正文,时间戳及签名随每次发送更新。
任务成功和失败都发送 task.completed;读取 data.state 判断结果。请在十秒内持久化接收事件并返回任意 2xx;非 2xx、超时和网络错误会重试,最多尝试十次,不跟随跳转。回调失败不改变任务结算,仍可查询结果。
Node.js 验签代码、请求示例、回调重试与查询说明。本站给客户的签名规则与本站内部接收上游回调的签名规则相互独立。
