FirebaseExtended / reactfire

Hooks, Context Providers, and Components that make it easy to interact with Firebase.
https://firebaseopensource.com/projects/firebaseextended/reactfire/
MIT License
3.5k stars 400 forks source link

403 on storage request #565

Open steveoh opened 1 year ago

steveoh commented 1 year ago

Version info

React: 18.2.0

Firebase: 9.15.0

ReactFire: 4.2.2

Other (e.g. Node, browser, operating system) (if applicable): chrome

Test case

Steps to reproduce

  1. Upload a file to storage using useStorageTask
  2. show that image with a
  3. Remove that image with a deleteObject request.
  4. Upload a different image with the same name to the same path
  5. reactfire requests the file with the wrong access token and the request fails

Expected behavior

The correct token is used to display the image from storage

Actual behavior

An old token is used and the request fails

steveoh commented 1 year ago

After digging a little deeper I think this is a firebase-js-sdk issue?

It's almost as if the token retrieved from https://github.com/firebase/firebase-js-sdk/blob/37f31c57b62bc6486bc08d9e5c64e2c32d25cb0a/packages/storage/src/implementation/metadata.ts#L171 isn't applied.

In this image you can see the token used vs the token sent back with the post are quite different.

image
steveoh commented 1 year ago

This doesn't happen when I just use the firebase sdk so it must be in this package or one of it's dependencies (rxfire).