Khaalid Subaan
Khaalid Subaan

Reputation: 51

Flutter Firebase Storage : no auth token for request

I have been trying to upload an image to the Firebase Storage while using the Image_Picker.

When I want to upload the image(imageFile) to Firebase Storage

 Future uploadFile() async {
    StorageReference storageReference =
        storage.ref().child('profile/${Path.basename(imageFile.path)}}');

    print('uploading..');
    StorageUploadTask uploadTask = storageReference.putFile(imageFile);

    //waiting for the image to upload
    await uploadTask.onComplete;

    print('File Uploaded');
    storageReference.getDownloadURL().then((fileURL) {
      setState(() {
        imageURL = fileURL;
      });
      print(imageURL);
    });
  }

However, during the uploading, there is an error mentioning I do not have auth token request. I have used Firebase Auth before for storing data to the database and everything is configured there properly(I assume so since Firebase gave me a google.json file).

W/NetworkRequest( 5796): no auth token for request

E/StorageUtil( 5796): error getting token java.util.concurrent.TimeoutException: Timed out waiting for Task

I have also tried to change the rules for the storage from read, write if auth != null to read, write.

Upvotes: 5

Views: 10198

Answers (2)

Sunil
Sunil

Reputation: 61

Are you using GoogleSignIn for authentication and can you provide your user authentication code for firebase i was having same issue "no auth token request" for googlesignin method i resolved by using the following code.

final GoogleSignIn googleSignIn = GoogleSignIn();
FirebaseUser firebaseUser;
GoogleSignInAccount account = await googleSignIn.signIn();
final GoogleSignInAuthentication googleAuth = await account.authentication;
final AuthCredential _cred = GoogleAuthProvider.getCredential(idToken: googleAuth.idToken, accessToken: googleAuth.accessToken);
final AuthResult _res = await FirebaseAuth.instance.signInWithCredential(_cred);
firebaseUser = _res.user;

Upvotes: 1

Chris Papantonis
Chris Papantonis

Reputation: 739

Check your firebase storage rules. I think that the default option is to allow only authenticated users. If that is the problem simply change them to what suits your needs best.

Upvotes: 1

Related Questions