- The header name is
X-Webhook-Signature; - The header value format is
t=<timestamp>,v0=<base64 encoded signature>, where the timestamp is in milliseconds;
- Parse the signature header to extract the
timestampandbase64 encoded signature - Join
timestampwith theraw http request body datawith a dot (.), and generate aSHA256digest; - Perform a strict base64 decoding on the
based64 encoded signatureto get thedecoded signature; - Verify the signature using the per-endpoint
public key,digest(from Step 2), anddecoded signature(from Step 3
To avoid replay attacksBridge advises the receiving endpoint to disregard events that are older than a few minutes, e.g. 10 minutes, and return a 400 status to request retries. For each event delivery retry, Bridge generates a new timestamp.
