@@ -11,6 +11,7 @@ import { prisma } from "~/db.server";
1111import { env } from "~/env.server" ;
1212import { ApiAuthenticationResultSuccess , getOneTimeUseToken } from "~/services/apiAuth.server" ;
1313import { logger } from "~/services/logger.server" ;
14+ import { extractJwtSigningSecretKey } from "~/services/realtime/jwtAuth.server" ;
1415import { determineRealtimeStreamsVersion } from "~/services/realtime/v1StreamsGlobal.server" ;
1516import { createActionApiRoute } from "~/services/routeBuilders/apiBuilder.server" ;
1617import { resolveIdempotencyKeyTTL } from "~/utils/idempotencyKeys.server" ;
@@ -85,7 +86,7 @@ const { action, loader } = createActionApiRoute(
8586 isCached : false ,
8687 } ) ,
8788 buildResponseHeaders : async ( responseBody , cachedEntity ) => {
88- return await responseHeaders ( cachedEntity , authentication , triggerClient ) ;
89+ return await responseHeaders ( cachedEntity , authentication ) ;
8990 } ,
9091 } ) ;
9192
@@ -140,7 +141,12 @@ const { action, loader } = createActionApiRoute(
140141
141142 await saveRequestIdempotency ( requestIdempotencyKey , "trigger" , result . run . id ) ;
142143
143- const $responseHeaders = await responseHeaders ( result . run , authentication , triggerClient ) ;
144+ const $responseHeaders = await responseHeaders ( result . run , authentication ) ;
145+
146+ logger . debug ( "responseHeaders authentication" , {
147+ authentication,
148+ responseHeaders : $responseHeaders ,
149+ } ) ;
144150
145151 return json (
146152 {
@@ -170,39 +176,26 @@ const { action, loader } = createActionApiRoute(
170176
171177async function responseHeaders (
172178 run : Pick < TaskRun , "friendlyId" > ,
173- authentication : ApiAuthenticationResultSuccess ,
174- triggerClient ?: string | null
179+ authentication : ApiAuthenticationResultSuccess
175180) : Promise < Record < string , string > > {
176181 const { environment, realtime } = authentication ;
177182
178- const claimsHeader = JSON . stringify ( {
183+ const claims = {
179184 sub : environment . id ,
180185 pub : true ,
186+ scopes : [ `read:runs:${ run . friendlyId } ` ] ,
181187 realtime,
182- } ) ;
183-
184- if ( triggerClient === "browser" ) {
185- const claims = {
186- sub : environment . id ,
187- pub : true ,
188- scopes : [ `read:runs:${ run . friendlyId } ` ] ,
189- realtime,
190- } ;
191-
192- const jwt = await internal_generateJWT ( {
193- secretKey : environment . apiKey ,
194- payload : claims ,
195- expirationTime : "1h" ,
196- } ) ;
188+ } ;
197189
198- return {
199- "x-trigger-jwt-claims" : claimsHeader ,
200- "x-trigger-jwt" : jwt ,
201- } ;
202- }
190+ const jwt = await internal_generateJWT ( {
191+ secretKey : extractJwtSigningSecretKey ( environment ) ,
192+ payload : claims ,
193+ expirationTime : "1h" ,
194+ } ) ;
203195
204196 return {
205- "x-trigger-jwt-claims" : claimsHeader ,
197+ "x-trigger-jwt-claims" : JSON . stringify ( claims ) ,
198+ "x-trigger-jwt" : jwt ,
206199 } ;
207200}
208201
0 commit comments