3.0.2 • Published 10 months ago

verify-github-webhook-secret v3.0.2

Weekly downloads
53
License
MIT
Repository
github
Last release
10 months ago

verify-github-webhook-secret

GitHub Actions status codecov semantic-release

Verifies the secret that is sent in GitHub Webhooks. The secret will be used as the key to generate the HMAC hex digest value in the X-Hub-Signature header.

Installation 🏗

$ npm install --save verify-github-webhook-secret

or if you use Yarn 🐈

$ yarn add verify-github-webhook-secret

Usage 🔨

The exported function needs a http.IncomingMessage and your personal secret string. It returns a Promise that fulfills with a boolean if the received secret is valid or not.

You can use it for example with micro as follows:

import micro from "micro";
import { verifySecret } from "verify-github-webhook-secret";

const server = micro(async (req) => {
	const valid = await verifySecret(req, "my-secret");
	return valid ? "Allowed" : "Not allowed";
});

Another way to call the function is directly with the HTTP body and the x-hub-signature HTTP header. This is useful in an scenario where you don't have an IncomingMessage like in some serverless environments.

import { verifySecret } from "verify-github-webhook-secret";

async function myFunc() {
	const valid = await verifySecret('{"foo":"bar"}', "my-secret", "sha1=30a233839fe2ddd9233c49fd593e8f1aec68f553");
	return valid ? "Allowed" : "Not allowed";
}
3.0.2

10 months ago

3.0.1

10 months ago

3.0.0

10 months ago

2.0.11

10 months ago

2.0.10

10 months ago

2.0.9

1 year ago

2.0.8

2 years ago

2.0.7

2 years ago

2.0.6

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.3

3 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

5 years ago

1.1.0

5 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.1.0

6 years ago