Am încercat să urmeze exemplul dat aici, unde se arată următorul exemplu pentru a verifica un semn de IDENTIFICARE:
// idToken comes from the client app
getAuth()
.verifyIdToken(idToken)
.then((decodedToken) => {
const uid = decodedToken.uid;
// ...
})
.catch((error) => {
// Handle error
});
Codul meu arata astfel:
function createFirebaseAdminApp(config: AppOptions) {
if (getApps().length === 0) {
return initializeApp(config);
} else {
return getApp();
}
}
const options: AppOptions = {
credential: cert({
projectId: process.env.FIREBASE_PROJECT_ID,
clientEmail: process.env.FIREBASE_CLIENT_EMAIL,
privateKey:
process.env.FIREBASE_PRIVATE_KEY != undefined
? process.env.FIREBASE_PRIVATE_KEY.replace(/\\n/g, "\n")
: "",
}),
databaseURL: process.env.FIREBASE_DATABASE_URL,
};
const firebaseAdmin = createFirebaseAdminApp(options) as FirebaseApp;
const adminAuth = getAuth(firebaseAdmin);
adminAuth
.verifyIdToken(token)
.then((decodedToken) => {
res.locals.decodedToken = decodedToken;
next();
})
.catch(() => {
next(new HttpError("Invalid token provided", 403));
});
Dar tot primesc
Proprietate 'verifyIdToken' nu exista pe tip 'Auth'
Am ultima versiune de baza pachetului, care presupun că exemplul dat de docs este folosind având în vedere că folosește getAuth
, deci nu pot spune ce am gresit. De asemenea, am încercat pentru a evita amestecarea firebase-admin si autobaza, nu sunt sigur dacă acest lucru este corect, dar dacă le-am amestecat eu nu pot par pentru a evita având de a inițializa prea App cazuri.
Multumesc pentru orice ajutor!