Skip to content

redirect_url is appended after signing out #5590

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

Open
4 tasks done
xeroxoid opened this issue Apr 10, 2025 · 1 comment
Open
4 tasks done

redirect_url is appended after signing out #5590

xeroxoid opened this issue Apr 10, 2025 · 1 comment
Labels
needs-triage A ticket that needs to be triaged by a team member

Comments

@xeroxoid
Copy link

Preliminary Checks

Reproduction

https://github.com/clerk/clerk-react-quickstart

Publishable key

pk_test_cHJvdmVuLWdsaWRlci04Mi5jbGVyay5hY2NvdW50cy5kZXYk

Description

Steps to reproduce:

Using @clerk/react version ^5.26.2 on a SPA React app with React Router 6.26.0

  1. While signed-in, navigate to any page inside the app (i.e. /the/url/before/signing/out)
  2. Hard refresh
  3. Sign out (tried with signOut(), signOut({ redirectUrl: '' }), signOut({ redirectUrl: '/sign-in' }) and signOut({ redirectUrl: '/' })
  4. You land on the sign-in page but have query param redirect_url=/the/url/before/signing/out (as well as sign_in_fallback_redirect_url, sign_up_force_redirect_url, etc.)

Weird thing is that this does not happen if I do not refresh.

Expected behavior:

Redirect to sign in page without any query params.

When signing in I do not expect to land on the page I was when I signed-out. Another user might sign in and land on a page which might give them an error/404/forbidden.

On the other hand I understand that as per documentation and would expect if I visit /users/123/details while signed out, to get the redirect url and be redirected to that after signing in.

Actual behavior:

Redirected to sign-in with query params set (esp. redirect_url=/the/url/before/signing/out)

This is also reproducible with https://github.com/clerk/clerk-react-quickstart

Environment

System:
    OS: macOS 15.4
    CPU: (12) arm64 Apple M2 Max
    Memory: 85.14 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.18.1 - ~/.local/state/fnm_multishells/12907_1744287998041/bin/node
    npm: 11.1.0 - ~/.local/state/fnm_multishells/12907_1744287998041/bin/npm
    pnpm: 10.6.5 - ~/Library/pnpm/pnpm
    Watchman: 2025.03.10.00 - /opt/homebrew/bin/watchman
  Browsers:
    Chrome: 135.0.7049.84
    Safari: 18.4
  npmPackages:
    @0no-co/graphqlsp: ^1.12.6 => 1.12.16
    @apollo/client: ^3.11.2 => 3.11.8
    @apollo/sandbox: ^2.6.0 => 2.7.0
    @clerk/clerk-react: ^5.26.2 => 5.26.2
    @clerk/themes: ^2.1.15 => 2.1.39
    @daily-co/daily-js: ^0.72.1 => 0.72.1
    @daily-co/daily-react: ^0.21.2 => 0.21.2
    @datadog/browser-logs: ^5.23.3 => 5.29.0
    @dnd-kit/core: ^6.1.0 => 6.1.0
    @dnd-kit/modifiers: ^7.0.0 => 7.0.0
    @dnd-kit/sortable: ^8.0.0 => 8.0.0
    @dnd-kit/utilities: ^3.2.2 => 3.2.2
    @fortawesome/fontawesome-svg-core: ^6.6.0 => 6.6.0
    @fortawesome/free-brands-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/free-regular-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/free-solid-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/pro-duotone-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/pro-light-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/pro-regular-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/pro-solid-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/pro-thin-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/react-fontawesome: ^0.2.2 => 0.2.2
    @fortawesome/sharp-light-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/sharp-regular-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/sharp-solid-svg-icons: ^6.6.0 => 6.6.0
    @fortawesome/sharp-thin-svg-icons: ^6.6.0 => 6.6.0
    @gql.tada/cli-utils: ^1.6.3 => 1.6.3
    @hookform/resolvers: ^3.9.0 => 3.9.0
    @ianvs/prettier-plugin-sort-imports: ^4.3.1 => 4.3.1
    @tailwindcss/container-queries: ^0.1.1 => 0.1.1
    @tanstack/react-table: ^8.19.3 => 8.20.5
    @testing-library/jest-dom: ^6.6.3 => 6.6.3
    @testing-library/react: ^16.2.0 => 16.2.0
    @testing-library/user-event: ^14.6.1 => 14.6.1
    @total-typescript/ts-reset: ^0.5.1 => 0.5.1
    @types/luxon: ^3.4.2 => 3.4.2
    @types/node: ^20.17.0 => 20.17.0
    @types/react: ^18.3.3 => 18.3.12
    @types/react-copy-to-clipboard: ^5.0.7 => 5.0.7
    @types/react-dom: ^18.3.0 => 18.3.1
    @types/react-syntax-highlighter: ^15.5.13 => 15.5.13
    @types/validator: ^13.12.2 => 13.12.2
    @typescript-eslint/eslint-plugin: ^8.21.0 => 8.21.0
    @typescript-eslint/parser: ^8.21.0 => 8.21.0
    @vitejs/plugin-legacy: ^5.4.3 => 5.4.3
    @vitejs/plugin-react-swc: ^3.7.0 => 3.7.1
    @wiserwork/tailwind-config: workspace:* => 0.0.0
    @wiserwork/ui: workspace:* => 0.0.1
    autoprefixer: ^10.4.19 => 10.4.20
    axios: ^1.7.4 => 1.7.7
    class-variance-authority: ^0.7.0 => 0.7.0
    clsx: ^2.1.1 => 2.1.1
    cmdk: ^1.0.0 => 1.0.0
    crisp-sdk-web: ^1.0.25 => 1.0.25
    date-fns: ^3.6.0 => 3.6.0
    dedent: ^1.5.3 => 1.5.3
    dotenv: ^16.4.5 => 16.4.5
    eslint: ^8.57.0 => 8.57.1
    framer-motion: ^11.3.21 => 11.11.9
    gql.tada: ^1.8.5 => 1.8.10
    graphql: ^16.9.0 => 16.9.0
    graphql-ws: ^5.16.0 => 5.16.0
    jotai: ^2.10.0 => 2.10.1
    jsdom: ^26.0.0 => 26.0.0
    localforage: ^1.10.0 => 1.10.0
    lucide-react: ^0.428.0 => 0.428.0
    luxon: ^3.5.0 => 3.5.0
    match-sorter: ^6.3.4 => 6.4.0
    next-themes: ^0.3.0 => 0.3.0
    postcss: ^8.4.40 => 8.4.47
    posthog-js: ^1.219.1 => 1.219.1
    prettier: ^3.3.3 => 3.3.3
    prettier-plugin-tailwindcss: ^0.6.8 => 0.6.8
    react: ^18.2.0 => 18.3.1
    react-cookie-consent: ^9.0.0 => 9.0.0
    react-copy-to-clipboard: ^5.1.0 => 5.1.0
    react-day-picker: ^8.10.1 => 8.10.1
    react-dom: ^18.2.0 => 18.3.1
    react-helmet-async: ^2.0.5 => 2.0.5
    react-hook-form: ^7.52.1 => 7.53.1
    react-markdown: ^9.0.1 => 9.0.1
    react-resizable-panels: ^2.0.22 => 2.1.5
    react-router-dom: ^6.26.0 => 6.27.0
    react-spinners: ^0.14.1 => 0.14.1
    react-textarea-autosize: ^8.5.3 => 8.5.4
    react-timezone-select: ^3.2.8 => 3.2.8
    recoil: ^0.7.7 => 0.7.7
    remark-gfm: ^4.0.0 => 4.0.0
    remark-math: ^6.0.0 => 6.0.0
    remark-supersub: ^1.0.0 => 1.0.0
    rimraf: ^6.0.1 => 6.0.1
    socket.io-client: ^4.7.5 => 4.8.0
    sonner: ^1.5.0 => 1.5.0
    sort-by: ^1.2.0 => 1.2.0
    tailwind-merge: ^2.4.0 => 2.5.4
    tailwindcss: ^3.4.7 => 3.4.14
    tsx: ^4.16.5 => 4.19.1
    type-fest: ^4.23.0 => 4.26.1
    typescript: ^5.7.2 => 5.7.3
    unplugin-fonts: ^1.1.1 => 1.1.1
    use-debounce: ^10.0.2 => 10.0.4
    validator: ^13.12.0 => 13.12.0
    vite: ^5.3.5 => 5.4.10
    vite-tsconfig-paths: ^5.0.1 => 5.0.1
    vitest: ^3.0.3 => 3.0.3
    zod: ^3.23.8 => 3.23.8
@xeroxoid xeroxoid added the needs-triage A ticket that needs to be triaged by a team member label Apr 10, 2025
@xeroxoid
Copy link
Author

This issue might be relevant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-triage A ticket that needs to be triaged by a team member
Projects
None yet
Development

No branches or pull requests

1 participant