Persistence Auth with SSR
-
Hi Guys,
Maybe my question it’s very obvious, but I am having a problem to keep the auth in my SSR app.
I am using Firebase Auth, I have set up the service for Server and Client, the problem is with the I am enabled the Auth because the storage and Cookies are cleaners.
Does anyone know how I should handle this? Should I keep the Token on the client and then send it to Server? What do you advise me to solve this case with firebase Auth?
-
Regarding the firebase, i really don’t know, since them is completely out of of knowledge.
But u can use the QCookies to share data between the client and server.
https://quasar.dev/quasar-plugins/cookies#Note-about-SSR
However, you aren’t able to read cookies from another domain, so you can’t read cookies of a third party api, like firebase.
If u wanna to share a vuex module, you would use vuex-persistedstate, here a example.:
import { Cookies } from 'quasar' import createPersistedState from 'vuex-persistedstate' export default function ({ store, ssrContext }) { const cookies = process.env.SERVER ? Cookies.parseSSR(ssrContext) : Cookies createPersistedState({ paths: ['shared'], filter ({ type }) { return type.startsWith('shared') }, storage: { getItem (key) { return JSON.stringify(cookies.get(key)) }, setItem (key, value) { cookies.set(key, value) }, removeItem (key) { cookies.remove(key) } } })(store) }
But remember, cookies are very limited, so be very selective about what you’ll persist.
-
Hi @Tobias-Mesquita ,
Thanks for reply.
Yes, I was using the same structure… I had to find another solution, in this case, I am using the SW to have control of the firebase Auth in the Client-Side (https://firebase.google.com/docs/auth/web/service-worker-sessions?authuser=0) I can’t say that it was the most elegant solution because I still have some doubts about safety, but at least I could get unstuck in which he was.