Skip to content

Commit eff4e45

Browse files
committed
chore(clerk-sdk-node): Move loading env as default value in authenticateRequest
1 parent 263b3e4 commit eff4e45

5 files changed

Lines changed: 19 additions & 13 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/clerk-sdk-node': patch
3+
---
4+
5+
Load env variables upon first usage of middlewares or clerkClient

packages/sdk-node/src/authenticateRequest.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ describe('authenticateRequest', () => {
6666
referrer: 'referer',
6767
userAgent: 'user-agent',
6868
isSatellite: false,
69-
proxyUrl: undefined,
69+
proxyUrl: '',
7070
signInUrl: '',
7171
domain: '',
7272
searchParams,

packages/sdk-node/src/authenticateRequest.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { constants } from '@clerk/backend';
33
import cookie from 'cookie';
44
import type { IncomingMessage, ServerResponse } from 'http';
55

6+
import { loadApiEnv, loadClientEnv } from './clerkClient';
67
import { handleValueOrFn, isHttpOrHttps, isProxyUrlRelative, isValidProxyUrl } from './shared';
78
import type { ClerkMiddlewareOptions } from './types';
89

@@ -46,16 +47,16 @@ export const authenticateRequest = (opts: {
4647
options?: ClerkMiddlewareOptions;
4748
}) => {
4849
const { clerkClient, apiKey, secretKey, frontendApi, publishableKey, req, options } = opts;
49-
const cookies = parseCookies(req);
5050
const { jwtKey, authorizedParties, audience } = options || {};
5151

52+
const env = { ...loadApiEnv(), ...loadClientEnv() };
53+
5254
const requestUrl = getRequestUrl(req);
53-
const isSatellite =
54-
handleValueOrFn(options?.isSatellite, requestUrl) || process.env.CLERK_IS_SATELLITE === 'true' || false;
55-
const domain = handleValueOrFn(options?.domain, requestUrl) || process.env.CLERK_DOMAIN || '';
56-
const signInUrl = options?.signInUrl || process.env.CLERK_SIGN_IN_URL || '';
55+
const isSatellite = handleValueOrFn(options?.isSatellite, requestUrl, env.isSatellite);
56+
const domain = handleValueOrFn(options?.domain, requestUrl) || env.domain;
57+
const signInUrl = options?.signInUrl || env.signInUrl;
5758
const proxyUrl = absoluteProxyUrl(
58-
handleValueOrFn(options?.proxyUrl, requestUrl, process.env.CLERK_PROXY_URL) as string,
59+
handleValueOrFn(options?.proxyUrl, requestUrl, env.proxyUrl),
5960
requestUrl.toString(),
6061
);
6162

@@ -67,6 +68,8 @@ export const authenticateRequest = (opts: {
6768
throw new Error(satelliteAndMissingSignInUrl);
6869
}
6970

71+
const cookies = parseCookies(req);
72+
7073
return clerkClient.authenticateRequest({
7174
audience,
7275
apiKey,

packages/sdk-node/src/requireAuth.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Request, Response } from 'express';
22

3-
import { clerkClient, loadApiEnv, loadClientEnv } from './clerkClient';
3+
import { clerkClient } from './clerkClient';
44
import { createClerkExpressRequireAuth } from './clerkExpressRequireAuth';
55
import type { ClerkMiddlewareOptions, RequireAuthProp } from './types';
66
import { runMiddleware } from './utils';
@@ -9,8 +9,7 @@ type ExpressApiHandlerRequireAuth<T = any> = (req: RequireAuthProp<Request>, res
99

1010
export function requireAuth(handler: ExpressApiHandlerRequireAuth, options?: ClerkMiddlewareOptions): any {
1111
return async (req: Request, res: Response) => {
12-
const env = { ...loadApiEnv(), ...loadClientEnv() };
13-
await runMiddleware(req, res, createClerkExpressRequireAuth({ clerkClient, ...env })(options));
12+
await runMiddleware(req, res, createClerkExpressRequireAuth({ clerkClient })(options));
1413

1514
return handler(req as RequireAuthProp<Request>, res);
1615
};

packages/sdk-node/src/withAuth.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Request, Response } from 'express';
22

3-
import { clerkClient, loadApiEnv, loadClientEnv } from './clerkClient';
3+
import { clerkClient } from './clerkClient';
44
import { createClerkExpressWithAuth } from './clerkExpressWithAuth';
55
import type { ClerkMiddlewareOptions, WithAuthProp } from './types';
66
import { runMiddleware } from './utils';
@@ -13,8 +13,7 @@ export function withAuth<TRequest extends Request = Request, TResponse extends R
1313
options?: ClerkMiddlewareOptions,
1414
): any {
1515
return async (req: TRequest, res: TResponse) => {
16-
const env = { ...loadApiEnv(), ...loadClientEnv() };
17-
await runMiddleware(req, res, createClerkExpressWithAuth({ clerkClient, ...env })(options));
16+
await runMiddleware(req, res, createClerkExpressWithAuth({ clerkClient })(options));
1817

1918
return handler(req as WithAuthProp<TRequest>, res);
2019
};

0 commit comments

Comments
 (0)