diff --git a/src/middleware.ts b/src/middleware.ts index d454028..5eb6c39 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -3,7 +3,7 @@ import * as jose from "jose"; import type { Middleware, Request } from "retes"; import { Response } from "retes/response"; -import { SALEOR_AUTHORIZATION_BEARER_HEADER } from "./const"; +import { SALEOR_AUTHORIZATION_BEARER_HEADER, SALEOR_SIGNATURE_HEADER } from "./const"; import { getSaleorHeaders } from "./headers"; import { jwksUrl } from "./urls"; @@ -72,6 +72,13 @@ export const withWebhookSignatureVerified = const { domain: saleorDomain, signature: payloadSignature } = getSaleorHeaders(request.headers); + if (!payloadSignature) { + return Response.BadRequest({ + success: false, + message: `${ERROR_MESSAGE} Missing ${SALEOR_SIGNATURE_HEADER} header.`, + }); + } + if (secretKey !== undefined) { const calculatedSignature = crypto .createHmac("sha256", secretKey)