import { createHmac, timingSafeEqual } from "node:crypto";
// rawBody = corps BRUT de la requête (avant tout parsing JSON)
function verifierSignature(secret, header, rawBody) {
const match = /^t=(\d+),v1=([0-9a-f]{64})$/.exec(header ?? "");
if (!match) return false;
const [, t, v1] = match;
if (Math.abs(Date.now() / 1000 - Number(t)) > 300) return false;
const attendu = createHmac("sha256", secret)
.update(`${t}.${rawBody}`)
.digest("hex");
return timingSafeEqual(Buffer.from(attendu, "hex"), Buffer.from(v1, "hex"));
}