Skip to content

Commit 253b3ea

Browse files
committed
fix(web): refresh composer auth token
1 parent 386707e commit 253b3ea

1 file changed

Lines changed: 3 additions & 27 deletions

File tree

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,7 @@
1-
"use client";
2-
3-
type ClerkBrowserSession = {
4-
session?: {
5-
getToken?: () => Promise<null | string>;
6-
lastActiveToken?: {
7-
getRawString?: () => string;
8-
};
9-
};
10-
};
1+
type ClerkTokenGetter = (options?: { skipCache?: boolean }) => Promise<null | string>;
112

123
export async function resolveComposerAuthToken(
13-
getAuthToken: () => Promise<null | string>,
4+
getAuthToken: ClerkTokenGetter,
145
): Promise<null | string> {
15-
const browserSession = (window as Window & { Clerk?: ClerkBrowserSession }).Clerk?.session;
16-
const rawToken = browserSession?.lastActiveToken?.getRawString?.();
17-
if (rawToken) {
18-
return rawToken;
19-
}
20-
const browserToken = browserSession?.getToken
21-
? await Promise.race([browserSession.getToken(), composerDelay(500).then(() => null)])
22-
: null;
23-
if (browserToken) {
24-
return browserToken;
25-
}
26-
return Promise.race([getAuthToken(), composerDelay(300).then(() => null)]);
27-
}
28-
29-
function composerDelay(ms: number): Promise<void> {
30-
return new Promise((resolve) => window.setTimeout(resolve, ms));
6+
return getAuthToken({ skipCache: true });
317
}

0 commit comments

Comments
 (0)