File tree Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Original file line number Diff line number Diff 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 (
Original file line number Diff line number Diff line change 11import type { Webhooks } from "@prisma/client" ;
2+ import assert from "node:assert" ;
23import crypto , { randomUUID } from "node:crypto" ;
34import { Agent , fetch } from "undici" ;
45import { 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 } ` ;
You can’t perform that action at this time.
0 commit comments