
Security News
Crates.io Users Targeted by Phishing Emails
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
@go1/webhook-verifier-js
Advanced tools
[](https://github.com/go1com/webhook-verifier-js/actions/workflows/node.js.yml)
You can use this library to verify the signature passed in the header to your webhook target endpoint.
For more information on signatures with Go1 Webhooks 🔗 please see this guide.
$ npm i @go1/webhook-verifier-js
If using a NodeJS framework like ExpressJS, with the req object in scope:
let signature = req.header('go1-signature');
// payload can be a string OR the object already parsed by the express json middlware
let payload = req.body;
// the secret could come from some place else if you wish, but it is the secret you provided to Go1 when you created the webhook
let secret = process.env.SHARED_SECRET;
You can then verify the signature like so:
import { verifySignature } from '@go1/webhook-verifier-js';
verifySignature(signature, payload, secret); // throws an exception if anything is invalid.
Or if you prefer not to have exceptions thrown you can also get a result back like so:
import { isSignatureVerified } from '@go1/webhook-verifier-js';
const { isValid, error } = isSignatureVerified(signature, payload, secret);
// { isValid: true, error: undefined }
const { isValid, error } = isSignatureVerified(signature, payload, badSecret);
// { isValid: false, error: InvalidWebhookSignature('Invalid signature') }
There is also some optional configuration you can set before calling verifySignature
or isSignatureVerified
:
import { configure as configureWebhookVerifier } from '@go1/webhook-verifier-js';
configureWebhookVerifier({
timestampToleranceInSeconds: 60, // number, defaults to 60
signatureVersion: 'v1' // string, defaults to 'v1'
});
...
To simulate webhook requests or test signature verification, you can use the built-in CLI tool:
npm run sign '<shared_secret>' '{"some":"payload"}' [timestamp]
This will generate a go1-signature header value in the format expected by verifySignature()
and isSignatureVerified()
:
Signature: t=1713270112,v1=8a8c94d9...
⚠️ Note: This is intended for internal development and testing only.
MIT License
Please open an issue in github here and we will evaluate.
FAQs
[](https://github.com/go1com/webhook-verifier-js/actions/workflows/node.js.yml)
We found that @go1/webhook-verifier-js demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.