Overview
When using the Auth0 Next.js SDK in an app that uses the Next.js framework, the logout call does not actually log the user out. There are CORS errors in the Dev Tools Network tab.
Applies To
- Auth0 Next.js SDK
Cause
This is usually caused by Next.js attempting to Pre-fetch the route (via an AJAX request) because the logout route is wrapped in a Link component. This is not correct, and the logout URL must be visited as a redirect.
Solution
For the logout links/buttons, instead of using the Next.js Link component, use a native <a>
element instead.
- For example, instead of this:
Use the following instead:<Link href="/api/auth/logout">Log Out</Link>
<a href="/api/auth/logout">Log Out</a>
This will prevent Next.js from prefetching the logout route.
This applies to login requests (or any other /api/auth/* requests) as well.