Quiero usar Firebase Storage (versión web 9.6.0) pero se niega el acceso a Firebase Storage con el siguiente error:
unhandledRejection: FirebaseError: Firebase Storage: User is not authenticated, please authenticate using Firebase Authentication and try again. (storage/unauthenticated)Querrías decirme que solo necesito que el usuario esté autenticado, pero dos problemas:
el usuario ya está autenticado ( getAuth().currentUser devuelve algo)
las reglas en Firebase Storage no dicen que un usuario necesita ser autenticado:
rules_version = '2'; service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read: if true; allow write: if request.auth != null; } } }El problema se produce cuando intento esto:
// initializeApp(config) etc. const storage = getStorage() // enabled in Firebase console const a_correct_path = "something..." const reference = ref(storage, a_correct_path) // this is working (I get the right reference) const url = getDownloadURL(reference) // this throws the errorNOTA: Debido a que ya he tenido problemas con él, tenga en cuenta que estoy usando App Check , que he aplicado para la función de almacenamiento.
¿Por qué hice mal?
En primer lugar, El
const a_correct_path = ""No puede estar vacío y debe tener la ruta correcta si está en una carpeta.
Pero si eso no ayuda... Restablezca sus reglas de almacenamiento a la primera.
Si eso no funciona, verifique la línea donde importó cosas de firebase
En Firebase Console, vaya a Autenticación. Comprueba que aparece el usuario con el que has iniciado sesión. Si el usuario no está allí, eso significa que no está autenticando usuarios con Firebase Authentication, y tal vez solo esté agregando usuarios a su Firestore. Es por eso que el error está poniendo énfasis en la autenticación de Firebase.
El usuario no está autenticado, autentíquese con Firebase Authentication y vuelva a intentarlo.