Function verifyWebhookSignature

  • ¿Firmó PlanVortex este cuerpo con el secreto de tu app?

    Devuelve true o false y no lanza por una firma mal formada, ausente o de otra longitud: todo eso es un false. Lanza sólo si le pasas algo que no son bytes (§ WebhookBodyError) o te dejas el secreto, que son fallos de tu código y no del que llama a tu endpoint.

    La comparación es de tiempo constante (crypto.timingSafeEqual). Las longitudes se comprueban antes: el HMAC de un algoritmo siempre mide lo mismo, así que la longitud no es secreto, y sin esa comprobación timingSafeEqual lanzaría ante una firma recortada — que es exactamente lo que mandaría alguien probando el endpoint.

    Returns boolean