Nuances of custom UI & refresh tokens

Hi guys

I hope I’m not sounding like a stuck record here, I’ve seen so many people asking about this but few clear answers. So the project I’m working on is a Nuxt.js SSR app currently using Auth0 Universal Login Classic. This classic UI allows for a little bit of customisation but not a lot.

Here’s my feature list of what we want to achieve:

  • Log in / signup via our own UI on our own domain ( if not, we could live with redirects as long as we can fully customise the UI )
  • Provide Google login / signup
  • Refresh tokens automatically and silently

I’ve read through a bunch of different docs and have managed to use new auth0.Authentication({...}).login({}) to successfully log a user in and retrieve the access & refresh tokens. This is currently all done on the front-end, we’re not making any of these calls server side. Where I’m getting tripped up is authenticating with Google, which does not seem to send me back a refresh token in the URL. I’ve read countless community topics and docs and can’t figure it out.

I ended up going around in circles and started looking at the new universal login page which is now recommended by Auth0. The only problem there is that it seems like customisation is very limited, is that correct? So I guess I have a few questions which lead into one another:

  1. Is there a way to fully customise the look of the Auth0 Universal Login? This seems to be the most secure and feature rich option, but seems to have the least support for UI customisation. We could probably live with redirecting here if we could customise the UI.
  2. If not, we’re back to using the Auth0 SDKs client or server side to manage auth ( seems like most of these can actually be done client side as they don’t require a secret ). But I can’t find a way to get the refresh tokens.
  3. Is there a better way to achieve the above?

Thanks in advance!