Skip to content

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

@iltan987

Description

@iltan987

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageUnseen or unconfirmed by a maintainer yet. Provide extra information in the meantime.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions