Move Firebase Auth to .env files to support Vercel deployments (#17)

This commit was merged in pull request #17.
This commit is contained in:
Nicholas Pease
2024-02-20 16:33:12 -05:00
committed by GitHub
2 changed files with 24 additions and 6 deletions
+14 -3
View File
@@ -1,11 +1,22 @@
// lib/firebase-admin-config.js
import { initializeApp, getApps, cert } from "firebase-admin/app";
import serviceAccount from "../../../../firebase-admin-key"
import admin from "firebase-admin";
export function customInitApp() {
if (getApps().length <= 0) {
initializeApp({
credential: cert(serviceAccount)
credential: admin.credential.cert({
type: process.env.FIREBASE_ADMIN_TYPE,
projectId: process.env.FIREBASE_ADMIN_PROJECT_ID,
privateKeyId: process.env.FIREBASE_ADMIN_PRIV_KEY_ID,
privateKey: process.env.FIREBASE_ADMIN_PRIV_KEY?.replace(/\\n/g, "\n"),
clientEmail: process.env.FIREBASE_ADMIN_CLIENT_EMAIL,
clientId: process.env.FIREBASE_ADMIN_CLIENT_ID,
authUri: process.env.FIREBASE_ADMIN_AUTH_URI,
tokenUri: process.env.FIREBASE_ADMIN_TOKEN_URL,
authProviderX509CertUrl: process.env.FIREBASE_ADMIN_AUTH_PROVIDER_X509_CERT_URL,
clientC509CertUrl: process.env.FIREBASE_ADMIN_CLIENT_X509_CERT_URL,
universe_domain: process.env.FIREBASE_ADMIN_UNIVERSE_DOMAIN,
}),
});
}
}
+10 -3
View File
@@ -1,10 +1,17 @@
import { initializeApp, getApps, getApp } from "firebase/app";
import { getAuth } from "firebase/auth";
import firebaseConfigFile from "../../../../firebase-config"
var firebaseConfig = firebaseConfigFile;
var config = {
apiKey: process.env.FIREBASE_CONFIG_API_KEY,
authDomain: process.env.FIREBASE_CONFIG_AUTH_DOMAIN,
projectId: process.env.FIREBASE_CONFIG_PROJECT_ID,
storageBucket: process.env.FIREBASE_CONFIG_STORAGE_BUCKET,
messagingSenderId: process.env.FIREBASE_CONFIG_MESSAGING_SENDER_ID,
appId: process.env.FIREBASE_CONFIG_APPID,
databaseURL: process.env.FIREBASE_CONFIG_DATABASE_URL,
}
var app = getApps().length > 0 ? getApp() : initializeApp(firebaseConfig);
var app = getApps().length > 0 ? getApp() : initializeApp(config);
var auth = getAuth(app);
export { auth, app };