Skip to content

Commit 0d6902c

Browse files
committed
use env vars for client id/secret
1 parent 45d3e2d commit 0d6902c

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

src/utils/env.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,8 @@ export const env = createEnv({
107107
*/
108108
ENABLE_KEYPAIR_AUTH: boolEnvSchema(false),
109109
ENABLE_CUSTOM_HMAC_AUTH: boolEnvSchema(false),
110+
CUSTOM_HMAC_AUTH_CLIENT_ID: z.string().optional(),
111+
CUSTOM_HMAC_AUTH_CLIENT_SECRET: z.string().optional(),
110112
},
111113
clientPrefix: "NEVER_USED",
112114
client: {},
@@ -148,6 +150,8 @@ export const env = createEnv({
148150
METRICS_ENABLED: process.env.METRICS_ENABLED,
149151
ENABLE_KEYPAIR_AUTH: process.env.ENABLE_KEYPAIR_AUTH,
150152
ENABLE_CUSTOM_HMAC_AUTH: process.env.ENABLE_CUSTOM_HMAC_AUTH,
153+
CUSTOM_HMAC_AUTH_CLIENT_ID: process.env.CUSTOM_HMAC_AUTH_CLIENT_ID,
154+
CUSTOM_HMAC_AUTH_CLIENT_SECRET: process.env.CUSTOM_HMAC_AUTH_CLIENT_SECRET,
151155
},
152156
onValidationError: (error: ZodError) => {
153157
console.error(

src/utils/webhook.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { Webhooks } from "@prisma/client";
2+
import assert from "node:assert";
23
import crypto, { randomUUID } from "node:crypto";
34
import { Agent, fetch } from "undici";
45
import { getConfig } from "./cache/getConfig";
@@ -24,14 +25,22 @@ const generateAuthorization = (args: {
2425
}): string => {
2526
const { webhook, timestampSeconds, body } = args;
2627
if (env.ENABLE_CUSTOM_HMAC_AUTH) {
28+
assert(
29+
env.CUSTOM_HMAC_AUTH_CLIENT_ID,
30+
'Missing "CUSTOM_HMAC_AUTH_CLIENT_ID".',
31+
);
32+
assert(
33+
env.CUSTOM_HMAC_AUTH_CLIENT_SECRET,
34+
'Missing "CUSTOM_HMAC_AUTH_CLIENT_SECRET"',
35+
);
36+
2737
return generateSecretHmac256({
2838
webhookUrl: webhook.url,
2939
body,
3040
timestampSeconds,
3141
nonce: randomUUID(),
32-
// DEBUG
33-
clientId: "@TODO: UNIMPLEMENTED",
34-
clientSecret: "@TODO: UNIMPLEMENTED",
42+
clientId: env.CUSTOM_HMAC_AUTH_CLIENT_ID,
43+
clientSecret: env.CUSTOM_HMAC_AUTH_CLIENT_SECRET,
3544
});
3645
}
3746
return `Bearer ${webhook.secret}`;

0 commit comments

Comments
 (0)