MarksCode
MarksCode

Reputation: 8604

Don't allow deletions on Firebase storage?

If I wanted to not allow users to delete a file stored in Firebase storage, what rule would I need to write to accomplish this?

I know for Firebase database I would do something like:

".write": "newData.val() != null"

But how would I do this for storage?

Upvotes: 1

Views: 247

Answers (2)

Mike McDonald
Mike McDonald

Reputation: 15963

Pretty sure this has been answered a few times (in a few ways), but the easiest answer I've seen is:

allow write: request.resource.someProperty == resource.someProperty || resource == null;

someProperty can be a hash (if you don't want to allow overwrites) or a name (if you want the contents to be overwritten by a new object).

Upvotes: 1

Frank van Puffelen
Frank van Puffelen

Reputation: 599611

One way to do this would be to only allow writes if the MD5 hash of the new file is the same as the existing file:

// Allow writes if the hash of the uploaded file is the same as the existing file
allow write: if request.resource.md5Hash == resource.md5Hash;

There are probably more/easier ways. But this is the first one I came across in https://firebase.google.com/docs/reference/security/storage/.

Upvotes: 0

Related Questions