Skip to content

Commit 9867924

Browse files
authored
fix(nextjs): Avoid calling safeParseClerkFile before checking if keyless is allowed (#4981)
1 parent 4f36624 commit 9867924

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

.changeset/weak-monkeys-approve.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/nextjs': patch
3+
---
4+
5+
Avoid calling `safeParseClerkFile` before checking if keyless is allowed.

packages/nextjs/src/app-router/server/ClerkProvider.tsx

+10-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import React from 'react';
44

55
import { PromisifiedAuthProvider } from '../../client-boundary/PromisifiedAuthProvider';
66
import { getDynamicAuthData } from '../../server/buildClerkProps';
7-
import { safeParseClerkFile } from '../../server/keyless-node';
87
import type { NextClerkProviderProps } from '../../types';
98
import { canUseKeyless } from '../../utils/feature-flags';
109
import { mergeNextClerkPropsWithEnv } from '../../utils/mergeNextClerkPropsWithEnv';
@@ -80,8 +79,16 @@ export async function ClerkProvider(
8079
</ClientClerkProvider>
8180
);
8281

83-
const runningWithClaimedKeys = propsWithEnvs.publishableKey === safeParseClerkFile()?.publishableKey;
84-
const shouldRunAsKeyless = (!propsWithEnvs.publishableKey || runningWithClaimedKeys) && canUseKeyless;
82+
let [shouldRunAsKeyless, runningWithClaimedKeys] = [false, false];
83+
if (canUseKeyless) {
84+
const locallyStorePublishableKey = await import('../../server/keyless-node.js')
85+
.then(mod => mod.safeParseClerkFile()?.publishableKey)
86+
.catch(() => undefined);
87+
88+
runningWithClaimedKeys =
89+
Boolean(propsWithEnvs.publishableKey) && propsWithEnvs.publishableKey === locallyStorePublishableKey;
90+
shouldRunAsKeyless = !propsWithEnvs.publishableKey || runningWithClaimedKeys;
91+
}
8592

8693
if (shouldRunAsKeyless) {
8794
// NOTE: Create or read keys on every render. Usually this means only on hard refresh or hard navigations.

0 commit comments

Comments
 (0)