@goatlab/node-backend 1.5.4 → 1.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -27,10 +27,18 @@ export interface ContextFactoryOptions {
|
|
|
27
27
|
* @param options - Configuration options including auth validator
|
|
28
28
|
* @returns A createContext function for tRPC/Express
|
|
29
29
|
*/
|
|
30
|
-
export declare function createContextFactory(options?: ContextFactoryOptions): ({ req, }: trpcExpress.CreateExpressContextOptions
|
|
30
|
+
export declare function createContextFactory(options?: ContextFactoryOptions): ({ req, info, }: trpcExpress.CreateExpressContextOptions & {
|
|
31
|
+
info?: {
|
|
32
|
+
connectionParams?: Record<string, unknown> | null;
|
|
33
|
+
};
|
|
34
|
+
}) => Promise<ReturnType<typeof requestContext>>;
|
|
31
35
|
/**
|
|
32
36
|
* Default context creator (no auth validation)
|
|
33
37
|
* Use createContextFactory for production with auth
|
|
34
38
|
*/
|
|
35
|
-
export declare const createContext: ({ req, }: trpcExpress.CreateExpressContextOptions
|
|
39
|
+
export declare const createContext: ({ req, info, }: trpcExpress.CreateExpressContextOptions & {
|
|
40
|
+
info?: {
|
|
41
|
+
connectionParams?: Record<string, unknown> | null;
|
|
42
|
+
};
|
|
43
|
+
}) => Promise<ReturnType<typeof requestContext>>;
|
|
36
44
|
export type TrpcContext = Awaited<ReturnType<typeof createContext>>;
|
|
@@ -36,9 +36,12 @@ function createContextFactory(options = {}) {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
|
-
* Create the tRPC/Express context for a request
|
|
39
|
+
* Create the tRPC/Express context for a request.
|
|
40
|
+
* Accepts optional `info` with `connectionParams` for SSE/subscription
|
|
41
|
+
* connections where the browser's EventSource API cannot send custom headers.
|
|
42
|
+
* The tRPC client passes the auth token via connectionParams instead.
|
|
40
43
|
*/
|
|
41
|
-
async function createContext({ req, }) {
|
|
44
|
+
async function createContext({ req, info, }) {
|
|
42
45
|
// Check if user was already validated by middleware (e.g., multi-tenant middleware)
|
|
43
46
|
if (req.betterAuthUser) {
|
|
44
47
|
return (0, request_context_1.requestContext)(req, {
|
|
@@ -54,8 +57,16 @@ function createContextFactory(options = {}) {
|
|
|
54
57
|
exp: Math.floor(Date.now() / 1000) + 3600,
|
|
55
58
|
});
|
|
56
59
|
}
|
|
57
|
-
// Extract token from Authorization header
|
|
58
|
-
|
|
60
|
+
// Extract token from Authorization header first, then fall back to
|
|
61
|
+
// connectionParams (SSE/EventSource connections cannot send custom headers,
|
|
62
|
+
// so the tRPC client passes the auth token via connectionParams instead)
|
|
63
|
+
let token = passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken()(req);
|
|
64
|
+
if (!token && info?.connectionParams) {
|
|
65
|
+
const cpAuth = info.connectionParams.authorization;
|
|
66
|
+
if (typeof cpAuth === 'string' && cpAuth.startsWith('Bearer ')) {
|
|
67
|
+
token = cpAuth.slice(7);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
59
70
|
if (token) {
|
|
60
71
|
// Validate using configured auth validator (Better Auth)
|
|
61
72
|
const result = await validateAuthToken(token, req);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trpc.context.js","sourceRoot":"","sources":["../../../src/server/context/trpc.context.ts"],"names":[],"mappings":";;;AAsCA,
|
|
1
|
+
{"version":3,"file":"trpc.context.js","sourceRoot":"","sources":["../../../src/server/context/trpc.context.ts"],"names":[],"mappings":"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"}
|