签名验证 API
端点: POST https://api.hooknexus.com/api/verify-signature
- 无需认证(公共工具接口)。
Content-Type: application/json
请求体
| 字段 | 必填 | 说明 |
|---|---|---|
provider | 是 | github、stripe、shopify、slack 之一 |
payload | 是 | 与服务商签名时一致的原始正文字符串 |
signature | 是 | 服务商签名头中的值(见各平台说明) |
secret | 是 | 控制台中的 Webhook 密钥或共享密钥 |
timestamp | 否 | Slack v1 校验时传 X-Slack-Request-Timestamp |
响应(200)
{ "valid": true, "expected": "...", "actual": "...", "details": "可选说明"}校验失败时也可能仍返回 200,此时 valid 为 false,details 说明原因。
支持的平台
| Provider | 典型头 |
|---|---|
| GitHub | X-Hub-Signature-256,格式 sha256=<hex> |
| Stripe | Stripe-Signature,整段 t=...,v1=... 作为 signature |
| Shopify | X-Shopify-Hmac-Sha256(Base64) |
| Slack | X-Slack-Signature(v0=<hex>),需配合时间戳 |
curl -X POST https://api.hooknexus.com/api/verify-signature \ -H "Content-Type: application/json" \ -d '{"provider":"github","payload":"{...}","signature":"sha256=...","secret":"..."}'