Ben çalışırken izleyin örnek verilmiş burada nerede gösterir aşağıdaki örnek için bir KİMLİK doğrulama belirteci:
// idToken comes from the client app
getAuth()
.verifyIdToken(idToken)
.then((decodedToken) => {
const uid = decodedToken.uid;
// ...
})
.catch((error) => {
// Handle error
});
Kodum şuna benziyor:
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));
});
Ama almaya devam ediyorum
'Auth' türünde 'verifyIdToken'özelliği yok
Firebase paketinin en son sürümüne sahibim, dokümanlar tarafından verilen örneğin kullandığı göz önüne alındığında kullandığını varsayıyorum getAuth
bu yüzden neyi yanlış yaptığımı söyleyemem. Ayrıca firebase-admin ve firebase'i karıştırmaktan kaçınmaya çalışıyorum, bunun doğru olup olmadığından emin değilim, ancak bunları karıştırırsam çok fazla Uygulama örneğini başlatmak zorunda kalmaktan kaçınamıyorum.
Herhangi bir yardım için teşekkürler!