Skip to content

Commit d08819e

Browse files
committed
⚗️ server: add panda webhook signing key
1 parent b076e0f commit d08819e

3 files changed

Lines changed: 6 additions & 1 deletion

File tree

server/script/openapi.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ process.env.MANTECA_API_URL = "https://manteca.test";
1818
process.env.MANTECA_WEBHOOKS_KEY = "manteca";
1919
process.env.PANDA_API_KEY = "panda";
2020
process.env.PANDA_API_URL = "https://panda.test";
21+
process.env.PANDA_SIGNING_KEY = "panda";
2122
process.env.PAX_API_KEY = "pax";
2223
process.env.PAX_API_URL = "https://pax.test";
2324
process.env.PAX_ASSOCIATE_ID_KEY = "pax";

server/utils/panda.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ const baseURL = process.env.PANDA_API_URL;
5959
if (!process.env.PANDA_API_KEY) throw new Error("missing panda api key");
6060
const key = process.env.PANDA_API_KEY;
6161

62+
if (!process.env.PANDA_SIGNING_KEY) throw new Error("missing panda signing key");
63+
const signingKey = process.env.PANDA_SIGNING_KEY;
64+
6265
export async function createCard(userId: string, productId: typeof PLATINUM_PRODUCT_ID | typeof SIGNATURE_PRODUCT_ID) {
6366
return await request(
6467
CardResponse,
@@ -339,7 +342,7 @@ export function headerValidator() {
339342
return vValidator("header", object({ signature: string() }), async (r, c) => {
340343
if (!r.success) return c.text("bad request", 400);
341344
const payload = await c.req.arrayBuffer();
342-
if (verifySignature({ signature: r.output.signature, signingKey: key, payload })) return;
345+
if (verifySignature({ signature: r.output.signature, signingKey, payload })) return;
343346
return c.text("unauthorized", 401);
344347
});
345348
}

server/vitest.config.mts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ NbrLH2v1stvRNgyr6ABzN78BmveLAkEAqMVzA7ZEOghYYB3hLgEASTRmdChN/P2Y
4747
OEW5okJDZmmfTeh96WBhKGaOczZuuYn88I3A6cKj1p8Yc7UZ1X8vvztY5P7N0YbL
4848
VuNOZKwaXFtqgA==
4949
-----END PRIVATE KEY-----`,
50+
PANDA_SIGNING_KEY: "panda",
5051
PAX_API_KEY: "pax",
5152
PAX_API_URL: "https://pax.test",
5253
PAX_ASSOCIATE_ID_KEY: "pax",

0 commit comments

Comments
 (0)