Files
bodyshop/jsreport/auth-server/firebase/firebase-handler.js

36 lines
944 B
JavaScript

var admin = require("firebase-admin");
const path = require("path");
require("dotenv").config({
path: path.resolve(
process.cwd(),
`.env.${process.env.NODE_ENV || "development"}`
),
});
var serviceAccount = require(process.env.FIREBASE_ADMINSDK_JSON);
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: process.env.FIREBASE_DATABASE_URL,
});
exports.admin = admin;
exports.validateFirebaseIdToken = async (req, res, next) => {
console.log("req.body", req.body);
let idToken = req.body.token;
try {
const decodedIdToken = await admin.auth().verifyIdToken(idToken);
//console.log("ID Token correctly decoded", decodedIdToken);
req.user = decodedIdToken;
res.send({ active: true, username: "admin" });
return;
} catch (error) {
console.error("Error while verifying Firebase ID token:", error);
res.status(403).send({ active: false });
return;
}
};