Webhook 签名参考

Generic

默认 provider 是 generic。签名载荷为:

<timestamp>.<raw_body>

签名算法为 HMAC-SHA256。默认请求头:

X-iamai-Signature: sha256=<hex>
X-iamai-Timestamp: <unix timestamp>

GitHub

signature_provider = "github" 使用 GitHub 风格的请求头:

X-Hub-Signature-256: sha256=<hex>

签名载荷为原始请求体。

Stripe

signature_provider = "stripe" 使用 Stripe 风格的请求头:

Stripe-Signature: t=<timestamp>,v1=<hex>

签名载荷为:

<timestamp>.<raw_body>

安全行为

所有 provider 都使用常量时间比较。带时间戳的 provider 会检查时间窗,并在进程内记录 已见过的签名以拒绝重放。