Whenever we get a permission denied error (due to Rules), they are unhelpful. The expectation is to see the path and operation that failed, and optionally the JSON payload that was sent
How it works today
RTDB:
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: [firebase_database/permission-denied]
Client doesn't have permission to access the desired data.
Firestore
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: [cloud_firestore/permission-denied]
The caller does not have permission to execute the specified operation.
Cloud Storage
FLTFirebaseStorage: An unknown error occurred while calling method Reference#getDownloadURL
Ideal outcome
RTDB:
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: [firebase_database/permission-denied]
Client doesn't have permission to read /foo/bar/baz.
Firestore
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: [cloud_firestore/permission-denied]
The caller does not have permission to write /foo/bar/baz with payload {"hello": "world"}
Cloud Storage
FLTFirebaseStorage: An unknown error occurred while calling method Reference#getDownloadURL
for "gs://foo.appspot.com/foo/bar/baz.jpg"
Resources
Firestore codepaths seem to have enough context to give better error messages without a big lift
This is a copy of issue #11677 which was most likely closed due to a user landing on the issue through a web search and then later commenting that it was fixed when his unrelated permission issue was solved.
Whenever we get a permission denied error (due to Rules), they are unhelpful. The expectation is to see the path and operation that failed, and optionally the JSON payload that was sent
How it works today
RTDB:
Firestore
Cloud Storage
Ideal outcome
RTDB:
Firestore
Cloud Storage
Resources
Firestore codepaths seem to have enough context to give better error messages without a big lift
This is a copy of issue #11677 which was most likely closed due to a user landing on the issue through a web search and then later commenting that it was fixed when his unrelated permission issue was solved.
/cc @lukepighetti