es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de permisos de Firestore en modo de base de datos de prueba.

Sé que se han formulado muchas preguntas sobre errores de permisos de Firestore, pero mi situación puede ser única debido a tres cosas:

1) mi base de datos está en modo de prueba, lo que debería permitir el acceso a cualquier persona (¿verdad?)

2) Estoy obteniendo el error mientras simulo mi aplicación con un usuario autenticado de Firebase

3) Puedo escribir datos, el error solo ocurrió al leerlos.

Aquí están mis reglas de seguridad:

rules_version = '2';
service cloud.firestore {
    match /databases/{database}/documents {
        match /{document=**} {
          allow read, write: if
              request.time < timestamp.date(2021, 12, 31);
    }
  }
}

Aquí hay una captura de pantalla de una descripción del modo de base de datos de prueba de Firestore:

8450775

El error real que recibí fue este:

Error: Error Domain=FIRStorageErrorDomain Code=-13021 "User does not have permission 
to access gs://zimmerfour.appspot.com/senderID." UserInfo={object=senderID, 
ResponseBody={
    "error": {
    "code": 403,
    "message": "Permission denied. Please enable Firebase Storage for your bucket by visiting the Storage tab in the Firebase Console and ensure that you have sufficient permission to properly provision resources."

EDITAR:

No he cambiado las reglas generales de almacenamiento en la nube. Todavía están configuradas en el valor predeterminado:

service firebase.storage {
match /b/{bucket}/o {
    match /{allPaths=**} {
       allow read, write: if request.auth != null;
      }
   }
}
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Explicación del error de permisos de Firestore

    El usuario está recibiendo un error de permisos de Firestore al intentar leer datos, a pesar de que la base de datos está en modo de prueba, lo que debería permitir el acceso a cualquier persona. El error solo ocurre al leer datos y no al escribirlos. El usuario está simulando su aplicación con un usuario autenticado de Firebase, pero aún así está recibiendo el error. Las reglas de seguridad para Firestore se muestran en el bloque de código.

    La base de datos de Firestore tiene un modo de prueba que debería permitir el acceso a cualquier persona. Sin embargo, el mensaje de error indica que el usuario no tiene permiso para acceder a gs://zimmerfour.appspot.com/senderID. Este error está relacionado con Firebase Storage y no con Firestore. Las reglas generales de Cloud Storage no se han cambiado y aún están configuradas para permitir el acceso de lectura y escritura si la solicitud está autenticada.

    Para resolver este problema, el usuario debe asegurarse de que ha habilitado Firebase Storage para su bucket visitando la pestaña de Storage en la consola de Firebase. También deben asegurarse de tener permisos suficientes para aprovisionar adecuadamente los recursos. Una vez que hayan habilitado Firebase Storage y configurado los permisos apropiados, el usuario debería poder leer datos de Firestore.

Comments are closed.