ฉันพยายามจะตามตัวอย่างให้ อยู่ที่นี่ ที่ที่มันจะก่อให้เกิดความตามตัวอย่างที่ต้องตรวจสอบบัตรของตั๋วเข้าใช้งาน:
// idToken comes from the client app
getAuth()
.verifyIdToken(idToken)
.then((decodedToken) => {
const uid = decodedToken.uid;
// ...
})
.catch((error) => {
// Handle error
});
ขอรหัสดูเหมือนนี้:
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));
});
แต่ผมก็ยังได้
ทรัพย์สิน'verifyIdToken'ยังไม่มีอยู่บนประเภท'Auth'
ฉันมีเวอร์ชั่นล่าสุดของ firebase กขาหีบห่อนั่นแล้วซึ่งฉันสันนิษฐานว่าเป็นตัวอย่างให้โดยที่ docs ใช้พิจารณามันใช้ getAuth
ดังนั้นไม่สามารถบอกอะไรฉันกำลังทำอะไรผิดพลาด ยังฉันพยายามที่จะหลีกเลี่ยงการผส firebase-แอดมินและ firebase ไม่แน่ใจว่านี่คือคำตอบที่ถูกต้อง,แต่ถ้าฉันผสมพวกเขาฉันไม่สามารถดูเหมือนจะหลีกเลี่ยงการมีเพื่อเริ่มใช้งานโปรแกรมเกี่ยวแผล
ขอบคุณสำหรับอะไรช่วยด้วย!