Estoy tratando de seguir el ejemplo dado aquí donde se muestra el siguiente ejemplo, para verificar un ID de token:
// idToken comes from the client app
getAuth()
.verifyIdToken(idToken)
.then((decodedToken) => {
const uid = decodedToken.uid;
// ...
})
.catch((error) => {
// Handle error
});
Mi código es este:
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));
});
Pero sigo recibiendo
Propiedad 'verifyIdToken' no existe en el tipo 'Auth'
Tengo la última versión de la base avanzada de paquetes, que asumo que el ejemplo dado por los médicos es de uso teniendo en cuenta que los usos getAuth
, así que no puedo decir qué estoy haciendo mal. También estoy tratando de evitar la mezcla de firebase-admin y firebase, no se si esto es correcto, pero si me mixto de ellos me parece que no puede evitar tener que inicializar demasiado Aplicación de las instancias.
Gracias por la ayuda!