Currently you are not able to use auth module without a service account
tux2nicolae opened this issue · 0 comments
Reproduction
Steps to reproduce the bug
- Enable auth module
vuefire: {
auth: {
enabled: true,
},
...
}
-
Make sure you don't have the
GOOGLE_APPLICATION_CREDENTIALSset -
Run
npm run devor build for production
Expected behavior
You should be allowed to use auth module without a service account
Actual behavior
You get this error when using the auth module without a service account specified.
The default Firebase app does not exist. Make sure you call initializeApp() before using any of the Firebase services
I think the problem comes from here
the getAdminAuth() is always called regardless of the fact you may not have a service account.
If you move the const adminAuth = getAdminAuth(firebaseAdminApp) inside the if block if (auth.currentUser?.uid !== uid) the problem goes away, or maybe it should be here
vuefire/packages/nuxt/src/module.ts
Line 203 in 687ce09
to add a if block if (nuxt.options.ssr && hasServiceAccount)
Additional information
Our use case is that, we don't have a service account because we don't need to render anything on the server based on authentication state, we are only using authentication on client side in some <client-only /> components