1.2.0 • Published 2 years ago
@graphcms/utils v1.2.0
Hygraph Utils
Install
npm i @graphcms/utils
Usage
verifyWebhookSignature
const { verifyWebhookSignature } = require("@graphcms/utils");
const secret = "rCNwyiloY3oJYYkxgpBXaleIiUv5MYlx";
const body = {}; // Typically req.body
const signature = "..."; // Typically req.headers['gcms-signature']
const isValid = verifyWebhookSignature({ body, signature, secret });
verifyWebhookSignature
also accepts a rawPayload
in the case that the body
has not yet been parsed.
const { verifyWebhookSignature } = require("@graphcms/utils");
const secret = "rCNwyiloY3oJYYkxgpBXaleIiUv5MYlx";
const rawPayload = '{"hello":"world"}';
const signature = "..."; // Typically req.headers['gcms-signature']
const isValid = verifyWebhookSignature({ rawPayload, signature, secret });
generateWebhookSignature
This is useful for testing signed webhooks. You can generate a Hygraph webhook signature, and then use it to test your webhook.
const { generateWebhookSignature } = require("@graphcms/utils");
const secret = "rCNwyiloY3oJYYkxgpBXaleIiUv5MYlx";
const body = {
hello: "world",
};
const signature = generateWebhookSignature({ body, secret });