Stale auth after succesful sign-in
Preliminary Checks
-
[X] I have reviewed the documentation: https://clerk.com/docs
-
[X] I have searched for existing issues: https://github.com/clerk/javascript/issues
-
[X] I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)
-
[X] This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.
Reproduction
https://github.com/clerk/clerk-nextjs-demo-app-router
Publishable key
pk_test_aW5zcGlyZWQtbXVkZmlzaC02MC5jbGVyay5hY2NvdW50cy5kZXYk
Description
Repro steps:
- clone your nextjs starter
- update .env.local with NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY and CLERK_SECRET_KEY
- run
- sign-in with Google
- you will see stale session: no indication the user is already signed in
- hard refresh
- now you will see the user is logged in
Environment
System:
OS: macOS 14.1
CPU: (10) arm64 Apple M1 Pro
Memory: 88.94 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 21.7.3 - ~/.nvm/versions/node/v21.7.3/bin/node
Yarn: 1.22.22 - ~/.nvm/versions/node/v21.7.3/bin/yarn
npm: 10.5.0 - ~/.nvm/versions/node/v21.7.3/bin/npm
pnpm: 9.5.0 - ~/.nvm/versions/node/v21.7.3/bin/pnpm
bun: 1.1.18 - ~/.bun/bin/bun
Browsers:
Brave Browser: 125.1.66.118
Chrome: 128.0.6613.120
Edge: 128.0.2739.67
Safari: 17.1
npmPackages:
@clerk/nextjs: ^5.1.5 => 5.1.5
@types/node: ^20.11.0 => 20.12.7
@types/react: ^18.2.47 => 18.2.79
@types/react-dom: ^18.2.18 => 18.2.25
@types/react-syntax-highlighter: ^15.5.11 => 15.5.11
autoprefixer: ^10.4.16 => 10.4.19
clsx: ^2.1.1 => 2.1.1
next: ^14.2.3 => 14.2.3
postcss: ^8.4.33 => 8.4.38
prism-react-renderer: ^2.3.1 => 2.3.1
react: ^18.3.1 => 18.3.1
react-dom: ^18.3.1 => 18.3.1
react-syntax-highlighter: ^15.5.0 => 15.5.0
tailwindcss: ^3.4.1 => 3.4.3
typescript: ^5.3.3 => 5.4.5
Hey can i get assigned?
@joelbqz I am not able to replicate. Following the steps you mention, logging in with google, I am properly logged in and see the Sign In button is replaced with the signed in button Dashboard. Is this still an issue you are seeing?
@joelbqz I am not able to replicate. Following the steps you mention, logging in with google, I am properly logged in and see the
Sign Inbutton is replaced with the signed in buttonDashboard. Is this still an issue you are seeing?
hey I just realized that issue happened only if these vars were not set
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
# NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard
# NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
@joelbqz I am not able to replicate. Following the steps you mention, logging in with google, I am properly logged in and see the
Sign Inbutton is replaced with the signed in buttonDashboard. Is this still an issue you are seeing?hey I just realized that issue happened only if these vars were not set
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up # NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard # NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
Thanks for sharing this. I'm also using NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL and after commenting it now works. I was redirecting user to an onboarding page and there I had <UserProfile /> which was giving me the following error:
- cannot render unless a user is signed in *
edit: using "next": "15.0.3", and "@clerk/nextjs": "^6.3.1", turbopack for nextjs
@joelbqz hey I was doing a custom onboarding and after following this tutorial https://clerk.com/docs/guides/add-onboarding-flow#add-custom-claims-to-your-session-token (the tutorial by itself didn't work) I've found on that same toturial some links to a github repo and there I've found this line: const { isLoaded, user } = useUser();
In my case I was having some issue with UserProfile from clerk not rendered on onboardingPage because of the error you mentioned. But now I'm conditionally rendering UserProfile using isLoaded prop and no wI don't need to refresh. I know its ugly but this issue may be related with redirections/rehydratation