-
Notifications
You must be signed in to change notification settings - Fork 81
Closed
Labels
Type: BugSomething isn't working as documented, or is being fixedSomething isn't working as documented, or is being fixed
Description
What happened?
I am having a lot of difficulty getting the webhook signature to validate in the route.ts
via the Next.js app router - it just fails every time despite the secret being correct and following the documentation example.
"use server";
import { Webhooks } from "@octokit/webhooks";
const webhooks = new Webhooks({
secret: "abc",
});
export async function POST(request: Request) {
try {
const body = await request.text();
const signature = request.headers.get("x-hub-signature-256");
if (!signature) {
return new Response("Missing signature", { status: 401 });
}
console.info(signature); // prints: sha256=2867...... etc
const isValid = await webhooks.verify(body, signature);
console.info(isValid);
if (!isValid) {
console.log("Signature validation failed");
return new Response("Invalid signature", { status: 401 });
}
console.log("Signature validation successful");
// rest of code
}
isValid
always returns false
so the request results in 401
every time
I'm at a loss at what else to try... Happy to debug further if required.
Versions
@octokit/webhooks 14.1.1, next 15.2.4, Node v24.3.0, Bun 1.2.16
Relevant log output
Code of Conduct
- I agree to follow this project's Code of Conduct
Metadata
Metadata
Assignees
Labels
Type: BugSomething isn't working as documented, or is being fixedSomething isn't working as documented, or is being fixed
Type
Projects
Status
✅ Done