@@ -89,20 +89,24 @@ test.describe('Keyless mode @quickstart', () => {
8989 await newPage . waitForLoadState ( ) ;
9090
9191 await newPage . waitForURL ( url => {
92- const urlToReturnTo = `${ dashboardUrl } apps/claim?token=` ;
93-
92+ const signInForceRedirectUrl = url . searchParams . get ( 'sign_in_force_redirect_url' ) ;
9493 const signUpForceRedirectUrl = url . searchParams . get ( 'sign_up_force_redirect_url' ) ;
9594
96- const signUpForceRedirectUrlCheck =
97- signUpForceRedirectUrl ?. startsWith ( urlToReturnTo ) ||
98- ( signUpForceRedirectUrl ?. startsWith ( `${ dashboardUrl } prepare-account` ) &&
99- signUpForceRedirectUrl ?. includes ( encodeURIComponent ( 'apps/claim?token=' ) ) ) ;
95+ // Backend adds framework=nextjs query param before token, so use .includes() instead of .startsWith()
96+ const signInHasRequiredParams =
97+ signInForceRedirectUrl ?. includes ( `${ dashboardUrl } apps/claim` ) && signInForceRedirectUrl ?. includes ( 'token=' ) ;
98+
99+ const signUpRegularCase =
100+ signUpForceRedirectUrl ?. includes ( `${ dashboardUrl } apps/claim` ) && signUpForceRedirectUrl ?. includes ( 'token=' ) ;
101+
102+ const signUpPrepareAccountCase =
103+ signUpForceRedirectUrl ?. startsWith ( `${ dashboardUrl } prepare-account` ) &&
104+ signUpForceRedirectUrl ?. includes ( encodeURIComponent ( 'apps/claim' ) ) &&
105+ signUpForceRedirectUrl ?. includes ( encodeURIComponent ( 'token=' ) ) ;
106+
107+ const signUpHasRequiredParams = signUpRegularCase || signUpPrepareAccountCase ;
100108
101- return (
102- url . pathname === '/apps/claim/sign-in' &&
103- url . searchParams . get ( 'sign_in_force_redirect_url' ) ?. startsWith ( urlToReturnTo ) &&
104- signUpForceRedirectUrlCheck
105- ) ;
109+ return url . pathname === '/apps/claim/sign-in' && signInHasRequiredParams && signUpHasRequiredParams ;
106110 } ) ;
107111 } ) ;
108112
0 commit comments