Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

97
Visualizações
Problema con la verificación de autenticación de Firebase usando el middleware del servidor Nuxt

Estoy trabajando en un proyecto nuxt y uso el módulo @nuxt/firebase para iniciar/cerrar sesión del usuario y funciona bien.

Ahora estoy tratando de verificar el token de identificación cuando un usuario visita la página de administración y hacer algo dependiendo del resultado, pero estoy atascado en hacer que funcione el método de verificar el token.

No puedo acceder a nuxt.$fire.auth (puedo en mis complementos, por ejemplo), pensé que es porque esto se ejecuta en el servidor, así que tuve que importar los paquetes, pero no estoy seguro de que esta sea la forma óptima.

Configuré nuxt.config.js para usar un módulo llamado auth.js

modules/auth /

 import cookie from "cookie"; import { initializeApp, applicationDefault } from "firebase-admin/app"; import { getAuth } from "firebase-admin/auth"; export default function () { const { nuxt } = this; nuxt.hook("render:setupMiddleware", (app) => { app.use("/admin", handler); }); const handler = (req, res, next) => { const idToken = cookie.parse(req.headers.cookie)["idToken"]; const fireAuth = initializeApp({ credential: applicationDefault(), projectId: "testApp", }); getAuth(fireAuth) .verifyIdToken(idToken) .then((decodedToken) => { console.log(decodedToken); }) .catch((error) => { // Handle error }); next(); }; }

Esto funciona por primera vez que visito la página. Si vuelvo a cargar, me da el error de que una aplicación de Firebase ya está inicializada.

The default Firebase app already exists. This means you called initializeApp() more than once without providing an app name as the second argument. In most cases you only need to call initializeApp() once. But if you do want to initialize multiple apps, pass a second argument to initializeApp() to give each app a unique name.

No sé cómo poner una cláusula de protección para ver si la aplicación ya está inicializada. Además, siento que este no es el mejor enfoque.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda