Closed spacecat closed 6 months ago
Is there a workaround for this? I am unable to launch my app since once the user completes their sign up using the SignUpButton on the homepage, they are not taken to my onboarding flow.
I'm using the signup button like so:
<SignUpButton signInForceRedirectUrl={"/dashboard/alerts"} forceRedirectUrl={"/dashboard/alerts"}>
<Button>
Get Started<FaChevronRight className="ml-2"></FaChevronRight>
</Button>
</SignUpButton>
But when I click the button I'm taken to https://funny-mite-97.accounts.dev/sign-up?redirect_url=http%3A%2F%2Flocalhost%3A3000%2F
I've also noticed that
clerk.buildSignUpUrl({
signUpForceRedirectUrl: "/dashboard/alerts",
})
doesn't build the right url. It gives me https://funny-mite-97.accounts.dev/sign-up?__clerk_db_jwt=eyJhb....#/?redirect_url=http%3A%2F%2Flocalhost%3A3000%2F
+1 here.
Hello everyone, props passed to the SignUpButton
button were not supposed to be transferred to Account Portal. That being said, we've received reports from users finding this behavior confusing so we're discussing internally about potential solutions for this one.
I will have an update for you within the day, thank you!
+1
I will have an update for you within the day, thank you!
@nikosdouvlis any updates here?
Just to clarify -- the issue is that forceRedirectUrl
and signInForceRedirectUrl
in SignUpButton
and SignInButton
are simply ignored. Instead, the user gets redirected to the default redirect_url
. This prevents one from sending the user to an onboarding flow or a checkout flow.
I tried side-stepping the issue through the corresponding environment variables and that didn't work either.
I was able to use this as temporary workaround. But its not ideal:
const SignUpButton = ({ className }: SignUpButtonProps) => {
const clerk = useClerk()
return (
<Button className={className} onClick={()=>{clerk.redirectToSignUp({
redirectUrl: `${window.location.origin}/dashboard/alerts`,
})}}>
Get Started<FaChevronRight className="ml-2" />
</Button>
);
}
This has been fixed with https://github.com/clerk/javascript/pull/3361 and was released in @clerk/clerk-react@5.0.5
Hi! I'm still facing the same issue (I'm using the latest release, @clerk/nextjs 5.0.10).
This issue only happens when I have a custom sign up/sign in page
@Chenalejandro could you provide a minimal reproduction so we can investigate? Thanks!
@BRKalow Here are the steps to reproduce
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_ZGVsaWNhdGUtbW9yYXktNS5jbGVyay5hY2NvdW50cy5kZXYk
# Put your clerk secret key here:
CLERK_SECRET_KEY=sk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
Expected: redirected to the /test page, since we had forced it by adding forceRedirectUrl prop:
<SignInButton
signUpForceRedirectUrl="/test"
forceRedirectUrl="/test"
>
Actual: redirected to the root page
The same happends when signing up
I noticed that when clicking the SECOND sign-in button in /test, it redirected me to the /sign-in page with the following url parameters: http://localhost:3000/sign-in?sign_up_force_redirect_url=http%3A%2F%2Flocalhost%3A3000%2Ftest&sign_in_force_redirect_url=http%3A%2F%2Flocalhost%3A3000%2Ftest&redirect_url=http%3A%2F%2Flocalhost%3A3000%2Ftest
If I remove &redirect_url=http%3A%2F%2Flocalhost%3A3000%2Ftest
and just use this url http://localhost:3000/sign-in?sign_up_force_redirect_url=http%3A%2F%2Flocalhost%3A3000%2Ftest&sign_in_force_redirect_url=http%3A%2F%2Flocalhost%3A3000%2Ftest, then I was redirected correctly to the /test page.
@LekoArts please reopen. I'm still facing this issue. Please see my latest comments here: https://discord.com/channels/856971667393609759/1236251832763023420
I'm having the same issue using the JS library directly {{ CLERK_FRONTEND_API_URL }}/npm/@clerk/clerk-js@5/dist/clerk.browser.js
.
@spacecat Please provide a new reproduction if the old one with updated dependencies isn't showing your issue. On our end your reproduction with the fix worked.
@LekoArts you are correct. The fix works for the reproduction repo in this thread. I updated the npm package to: npm i -E @clerk/nextjs@5.1.4
and now it works.
I will try it again in my real project. There's where I could not get it to work. I'll get back with results.
Happy to report that it's working in my other project as well 🥳
Preliminary Checks
Reproduction
https://github.com/spacecat/clerk-01
Publishable key
pk_test_ZXhvdGljLXJhYmJpdC00MC5jbGVyay5hY2NvdW50cy5kZXYk
Description
Steps to reproduce: In Google Chrome:
For more info: https://discord.com/channels/856971667393609759/1236251832763023420
Expected behavior:
You should end up at /dashboard/blog
Actual behavior:
You end up at /dashboard
Environment