nuxt.config.js
vuefire: {
auth: {
enabled: true,
sessionCookie: true
},
admin: {
serviceAccount: {
projectId: process.env.FIREBASE_PROJECT_ID,
clientEmail: process.env.FIREBASE_CLIENT_EMAIL,
// Handle base64 encoded key for better environment compatibility
privateKey: process.env.FIREBASE_ADMIN_PRIVATE_KEY?.replace(/\\n/g, '\n')
}
},
config: {
apiKey: process.env.VITE_FIREBASE_API_KEY,
authDomain: process.env.VITE_FIREBASE_AUTH_DOMAIN,
projectId: process.env.VITE_FIREBASE_PROJECT_ID,
storageBucket: process.env.VITE_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.VITE_FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.VITE_FIREBASE_APP_ID,
measurementId: process.env.VITE_FIREBASE_MEASUREMENT_ID
}
},
nitro: {
serverAssets: [
{
baseName: 'config',
dir: './',
include: ['service-account.json']
}
]
},
nuxt.config.js
vuefire: {
auth: {
enabled: true,
sessionCookie: true
},
admin: {
serviceAccount: {
projectId: process.env.FIREBASE_PROJECT_ID,
clientEmail: process.env.FIREBASE_CLIENT_EMAIL,
// Handle base64 encoded key for better environment compatibility
privateKey: process.env.FIREBASE_ADMIN_PRIVATE_KEY?.replace(/\\n/g, '\n')
}
},
config: {
apiKey: process.env.VITE_FIREBASE_API_KEY,
authDomain: process.env.VITE_FIREBASE_AUTH_DOMAIN,
projectId: process.env.VITE_FIREBASE_PROJECT_ID,
storageBucket: process.env.VITE_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.VITE_FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.VITE_FIREBASE_APP_ID,
measurementId: process.env.VITE_FIREBASE_MEASUREMENT_ID
}
},
nitro: {
serverAssets: [
{
baseName: 'config',
dir: './',
include: ['service-account.json']
}
]
},