diff --git a/graphql/server/src/middleware/graphile.ts b/graphql/server/src/middleware/graphile.ts index e6ccb3cf7..e2affc290 100644 --- a/graphql/server/src/middleware/graphile.ts +++ b/graphql/server/src/middleware/graphile.ts @@ -239,6 +239,10 @@ const buildPreset = ( ...context, }; + if (req.token.session_id) { + pgSettings['jwt.claims.session_id'] = req.token.session_id; + } + // Propagate credential metadata as JWT claims so PG functions // can read them via current_setting('jwt.claims.access_level') etc. if (req.token.access_level) { diff --git a/graphql/server/src/middleware/types.ts b/graphql/server/src/middleware/types.ts index 0d22e982c..327f6d222 100644 --- a/graphql/server/src/middleware/types.ts +++ b/graphql/server/src/middleware/types.ts @@ -3,6 +3,7 @@ import type { ApiStructure } from '../types'; export type ConstructiveAPIToken = { id?: string; user_id?: string; + session_id?: string; access_level?: string; kind?: string; [key: string]: unknown;