Skip to content

Commit cef0944

Browse files
committed
Fix navigating to tasks on SSO callback
1 parent aebc808 commit cef0944

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

integration/tests/session-tasks-sign-up.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withSessionTasks] })(
2323
test.afterAll(async () => {
2424
const u = createTestUtils({ app });
2525
await u.services.organizations.deleteAll();
26+
// Delete the user on the OAuth provider instance.
2627
await fakeUser.deleteIfExists();
28+
// Delete the user on the app instance.
29+
await u.services.users.deleteIfExists({ email: fakeUser.email });
2730
await app.teardown();
2831
});
2932

packages/clerk-js/src/core/clerk.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1997,6 +1997,14 @@ export class Clerk implements ClerkInterface {
19971997
return navigateToNextStepSignUp({ missingFields: signUp.missingFields });
19981998
}
19991999

2000+
if (this.session?.currentTask) {
2001+
await navigateIfTaskExists(this.session, {
2002+
baseUrl: params.signInUrl ?? displayConfig.signInUrl,
2003+
navigate: this.navigate,
2004+
});
2005+
return;
2006+
}
2007+
20002008
return navigateToSignIn();
20012009
};
20022010

packages/clerk-js/src/core/sessionTasks.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { logger } from '@clerk/shared/logger';
22
import type { ClerkOptions, SessionResource, SessionTask, SetActiveParams } from '@clerk/types';
33

4-
import { buildURL } from '../utils';
4+
import { buildURL, forwardClerkQueryParams } from '../utils';
55

66
/**
77
* @internal
@@ -14,10 +14,13 @@ export const INTERNAL_SESSION_TASK_ROUTE_BY_KEY: Record<SessionTask['key'], stri
1414
* @internal
1515
*/
1616
export function buildTasksUrl(task: SessionTask, opts: Pick<Parameters<typeof buildURL>[0], 'base'>) {
17+
const params = forwardClerkQueryParams();
18+
1719
return buildURL(
1820
{
1921
base: opts.base,
2022
hashPath: `/tasks/${INTERNAL_SESSION_TASK_ROUTE_BY_KEY[task.key]}`,
23+
searchParams: params,
2124
},
2225
{ stringify: true },
2326
);

0 commit comments

Comments
 (0)