Информация аутентификации не используется для доступа к облачному хранилищу при использовании его в сочетании с эмулятором. - PullRequest
0 голосов
/ 09 июля 2020

Я использую комбинацию аутентификации firebase, облачного хранилища и облачного хранилища.

Во время разработки я использую эмулятор firestore для проверки работы. Очень эффективно использовать эмулятор с firestore.

Поскольку аутентификация и хранилище не поддерживаются, среда несколько уникальна.

При входе в систему с аутентификацией на сервере firebase firestore обращается к локальному эмулятору данные и облачное хранилище относятся к внутренним данным firebase.

В этом сценарии учетные данные не добавляются при доступе к облачному хранилищу.

В моем коде приложения (флаттер) я переключаю эмулятор и firebase backend с флагом.

    if (debug) {
      final domain = (!kIsWeb && Platform.isAndroid) ? '10.0.2.2' : 'localhost';
       await Firestore.instance.settings(
         persistenceEnabled: false,
         host: '$domain:8080',
         sslEnabled: false,
       );
    }

и в storage.rules я просто проверяю, если request.aut! = null.

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null; // ok with if true;
    }
  }
}

Я могу читать и записывать файл в облачном хранилище с debug = false, но не удалось с debug = true.

И я могу читать и писать, когда меняю storage.rules, чтобы разрешить все чтение и запись.

Есть ли эффективный способ отладки правила безопасности облачного хранилища в среде, подобной описанной выше, или другим способом?

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