Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

281
Vistas
(Nuxtjs+ Firebase Firestore) FirebaseError: permisos faltantes o insuficientes

uso Nuxt.js + Firebase Firestore y trato de obtener datos del nombre de la colección TestCollection pero mostrar

Error al obtener el documento: FirebaseError: permisos faltantes o insuficientes.

aquí está mi colección firestore.

mi servidor local muestra esto.

 Error getting document: FirebaseError: Missing or insufficient permissions. at new n (prebuilt-306f43d8-45d6f0b9.js?a6a6:188) at eval (prebuilt-306f43d8-45d6f0b9.js?a6a6:10426) at eval (prebuilt-306f43d8-45d6f0b9.js?a6a6:10427) at n.onMessage (prebuilt-306f43d8-45d6f0b9.js?a6a6:10449) at eval (prebuilt-306f43d8-45d6f0b9.js?a6a6:10366) at eval (prebuilt-306f43d8-45d6f0b9.js?a6a6:10397) at eval (prebuilt-306f43d8-45d6f0b9.js?a6a6:15160) at eval (prebuilt-306f43d8-45d6f0b9.js?a6a6:15218)

aquí está el método que llama a la colección.

 async testPost(){ try{ await this.$fire.firestore.collection('TestCollection').get() .then((docs) => { console.log('docs:', docs) if (docs) { docs.forEach((doc) => { console.log(doc.data()) }) } else { console.log('No such document!') } }).catch((error) => { console.log('Error getting document:', error) }) }catch (err){ console.log(err) } },

en nuxt.config.js

 modules: [ // https://go.nuxtjs.dev/axios '@nuxtjs/axios', ['@nuxtjs/firebase', { config: { apiKey: process.env.FIREBASE_API_KEY, authDomain: process.env.FIREBASE_AUTH_DOMAIN, projectId: process.env.FIREBASE_PROJECT_ID, storageBucket: process.env.FIREBASE_STORAGE_BUCKET, messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID, appId: process.env.FIREBASE_APP_ID, measurementId: process.env.FIREBASE_MEASUREMENT_ID, }, services: { firestore: true, storage: true, database: true, }, }], ],

en base de datos.rules.json

 { "rules": { "users": { "$uid": { ".read": "$uid === auth.uid", ".write": "false" } }, "cases": { ".read": true } } }

en filetore.rules

 rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Tus reglas de seguridad permiten que nadie lea ningún dato de Firestore:

 match /{document=**} { allow read, write: if false; }

Entonces, el hecho de que su código que intenta leer datos de la base de datos sea rechazado por estas reglas funciona según lo previsto.

Estas son las reglas predeterminadas, por lo que recomiendo leer la documentación sobre cómo proteger su base de datos tanto paraFirestore específicamente como para Firebase en general .


Querrá comenzar con el cambio mínimo en sus reglas que permita que su código funcione, conocido como el principio de privilegio mínimo . Dado el código que compartiste, sería:

 rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } match /TestCollection/{doc} { allow read: if true; } } }

Así que ahora permitimos que cualquier persona en el mundo lea TestCollection completo, ya que eso es lo que parece hacer su código, pero aún no permitimos todas las demás operaciones.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda