I am currently working on a project that requires a full redesign of Shopify’s new authentication system UI (login, accounts, orders, etc) to be consistent with our brand. It seems like the only way to do this is to completely rebuild our Liquid storefront in Hydrogen. But rewriting our entire website is just not feasible, especially since we would require some third party app to replace the theme builder. I have done plenty of research to find a suitable approach, but I’m not sure if any of these will work.
We could add the functionality via the “Customer Account UI Extensions”. However, I don’t think this will allow us to rework the login pages.
I asked Shopify support to see if it is possible to migrate back to the old authentication system and use the templates/customers/* pages in Liquid, but they “do not support reverting to legacy accounts once migrated”. And using an external authentication system like Supabase may make it difficult to integrate with Liquid, and some of our other external services and apps we use.
The only other idea I have is to create a separate Hydrogen application that sits along side the Liquid storefront which handles authentication instead. This would allow us to customise the UI and UX to our exact needs, but I’m not sure if this is possible with the customer account API. It looks like that API is built to manage the customer auth tokens yourself, where as we want it to still be managed all with Shopify so it works with our current Liquid templates.
We could still handle the authentication tokens ourselves by storing all authentication state from the custom Hydrogen application as a cookie. This would mean we instead use Javascript to decide what elements are visible depending on the authentication state, but I suspect this may not be the most seamless solution as every page refresh would cause some layout shifts.
Has anyone attempted to do this, and has a good solution to this issue?