Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong URL after calling signIn function when using custom sign-in page #12697

Open
iltan987 opened this issue Feb 23, 2025 · 3 comments
Open
Labels
bug Something isn't working triage Unseen or unconfirmed by a maintainer yet. Provide extra information in the meantime.

Comments

@iltan987
Copy link

iltan987 commented Feb 23, 2025

Environment

"next": "15.1.7",
"next-auth": "^5.0.0-beta.25",
"react": "^19.0.0"

OS: Windows 10 Version 22H2 (OS Build 19045.5487)
Node.js version: v23.6.0
npm version: 11.1.0
Browser: Microsoft Edge Version 133.0.3065.82 (Official build) (64-bit) and Google Chrome

Reproduction URL

https://github.com/iltan987/redirect-issue

Describe the issue

First of all, this example is using custom sign in page.
As I understood, there are 2 ways to redirect user to sign-in page. Server-side and client-side. Using signIn function coming from the NextAuth instance in auth.ts (method 1 in my code) and using signIn function from "next-auth/react" (method 2)
The problem is when you use method 1, URL is not correct but rendered page is correct, just the URL wrong. You can see the correct URL only if you refresh the page manually.
Method 2 works completely fine; both URL seen in browser and rendered page are correct.

How to reproduce

  1. Run npm install
  2. Run npx auth secret or put your AUTH_SECRET to the .env file
  3. Run the app npm run dev
  4. In the main page, you will see 2 buttons. Press the one saying "Method 1", you will see wrong URL which includes "/api/auth/signin"
  5. Refresh the page (no need to do anything), and you will see the correct URL which is "/login"
  6. Go back to main page and press the other button. You will see that you will directly see the correct URL which is "/login"

Expected behavior

Same as method 2, without needing to refresh the page manually, URL in the browser should be same as the URL specified in NextAuth config

@iltan987 iltan987 added bug Something isn't working triage Unseen or unconfirmed by a maintainer yet. Provide extra information in the meantime. labels Feb 23, 2025
@iltan987 iltan987 marked this as a duplicate of #12658 Feb 23, 2025
@benevbright
Copy link

benevbright commented Feb 23, 2025

having the exact same issue.

fresh installed few days ago, then facing this issue

"next": "15.1.7",
"next-auth": "^5.0.0-beta.25",

in my old project with the following version, I didn't have this problem

"next": "14.2.0-canary.34",
"next-auth": "^5.0.0-beta.15",

@iltan987
Copy link
Author

iltan987 commented Feb 24, 2025

having the exact same issue.

fresh installed few days ago, then facing this issue

"next": "15.1.7",
"next-auth": "^5.0.0-beta.25",

in my old project with the following version, I didn't have this problem

"next": "14.2.0-canary.34",
"next-auth": "^5.0.0-beta.15",

I tried to see the issue by checking next-auth code. Everything seems fine. I debugged it and URL seems fine. Only thing I suspect is redirect function from next/navigation. It takes the URL. Maybe in that version, there is a bug with redirect function. I don't know. This code piece is responsible of redirecting:

if (!provider) {
signInURL.searchParams.append("callbackUrl", callbackUrl)
if (shouldRedirect) redirect(signInURL.toString())
return signInURL.toString()
}

I am searching but can someone please check if the issue is because of redirect function in next/navigation?

EDIT:
Updating all packages to their latest available versions including next: 15.1.7 didn't work.
Then, I updated node to version v22.14.0 and pnpm to v10.4.1
Again, didn't work. I didn't get any error, but I got the same result.

@iltan987
Copy link
Author

Example app in apps/dev/nextjs is somehow working. I think it's about layout file. Because when I put my code to the root layout file, it starts working... So strange

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage Unseen or unconfirmed by a maintainer yet. Provide extra information in the meantime.
Projects
None yet
Development

No branches or pull requests

2 participants