Preserve URL params on redirect from /authorize to /u/signup?

My app is using Auth0’s New Universal Login experience.

When I redirect a request from my app to Auth0’s /authorize endpoint to initiate the OAuth flow, I’m including a few tracking parameters on the URL. For instance, my redirect URL looks like this:

https://accounts.buoyant.io/authorize?client_id=ID&redirect_uri=REDIRECT&response_type=code&scope=openid+email+profile&screen_hint=signup&state=STATE&utm_campaign=email

Auth0 then redirects that to the signup page, e.g.:

/u/signup?state=STATE

But I need that redirect to include the utm_campaign param that I passed to the authorize endpoint, e.g.:

/u/signup?state=STATE&utm_campaign=email

What’s the best way to make this happen?

@kingelman I have the same issue - any luck with a solution?

I never found a way to do this through Auth0, unfortunately. I instead implemented a workaround on my side. When we create the value that’s sent via the state param, we store the full URL that the user was trying to reach, including the utm* params. When we receive the Auth0 callback, we use the state param, which is forwarded, to look up the full URL. We then copy over the utm* params from that URL onto the URL that the callback handler redirects to.

3 Likes