I am working on a Next 14 application using App Router and using @auth0/nextjs-auth0
to handle auth flow.
In development, I am able to set up the entire auth flow with the following environment variables set before running my local server:
AUTH0_BASE_URL=http://localhost:3000/
AUTH0_SECRET=...
AUTH0_ISSUER_BASE_URL=...
AUTH0_CLIENT_ID=...
AUTH0_CLIENT_SECRET=...
Since I am deploying the app through Vercel for now, I have set the environment variables mentioned above in Vercel’s environment as well, where:
NEXT_PUBLIC_AUTH0_BASE_URL
is set as{project-repo-name}-*-{team}.vercel.app/
according to@auth0/nextjs-auth0
’s documentation, which is the value of$VERCEL_URL
AUTH0_BASE_URL
is set ashttps://{project-repo-name}-*-{team}.vercel.app/
becauseAUTH0_BASE_URL
is required
In the Auth0 application under my tenant, I set the URLs in the settings as follows:
Allowed Callback URLs
http://localhost:3000/api/auth/callback, https://www.{project-repo-name}-*-{team}.vercel.app/api/auth/callback, https://{project-repo-name}-*-{team}.vercel.app/api/auth/callback
Allowed Logout URLs
http://localhost:3000/, https://www.{project-repo-name}-*-{team}.vercel.app/, https://{project-repo-name}-*-{team}.vercel.app/
Allowed Web Origins
http://localhost:3000/, https://www.{project-repo-name}-*-{team}.vercel.app/, https://{project-repo-name}-*-{team}.vercel.app/
In a deploy preview, a user can now reach the login/signup page after making a request to api/auth/login?returnTo=/home
. However, the user cannot return to the application after getting authenticated and authorized and the root cause seems to be the wildcard ***** in the AUTH0_BASE_URL
/ NEXT_PUBLIC_AUTH0_BASE_URL
set in the Vercel’s environment or any of the URLs provided to Auth0 because the user is always redirected to a URL that contains an actual * as below:
https://{project's repo name}-/*-{team}.vercel.app/api/auth/callback?code={random string}
I can verify that the user’s authentication and authorization were successful because I can see a successful login from the user’s history provided by Auth0. Could anyone guide me on configuring these environment variables for Vercel’s deploy previews? Thanks in advance!