Flutter Firebase Storage: нет авторизационного токена для запроса - PullRequest
1 голос
/ 15 марта 2020

Я пытался загрузить изображение в Firebase Storage при использовании Image_Picker.

Когда я хочу загрузить изображение (imageFile) в 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);
    });
  }

Однако во время загрузки возникает ошибка, в которой говорится, что у меня нет запроса токена авторизации. Ранее я использовал Firebase Auth для хранения данных в базе данных, и все там настроено правильно (я полагаю, так как Firebase дал мне файл Google. json).

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

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

Я также пытался изменить правила хранения из чтения, запись, если auth! = null для чтения, запись.

Ответы [ 2 ]

0 голосов
/ 18 апреля 2020

Используете ли вы GoogleSignIn для аутентификации и можете ли вы предоставить свой код аутентификации пользователя для firebase? У меня возникла та же проблема "нет запроса авторизации токена" для метода googlesignin, которую я решил с помощью следующего кода.

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;
0 голосов
/ 16 марта 2020

Проверьте ваши правила хранения в firebase. Я думаю, что опция по умолчанию разрешает только аутентифицированным пользователям. Если это проблема, просто измените их на те, которые лучше всего соответствуют вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...