На Android и после того, как пользователь вошел в систему, я пытаюсь прочитать некоторые данные из Firebase Realtime Db, но я получаю сообщение «-3, Отказано в доступе».Мои правила безопасности:
".read": "auth != null"
Если я изменю свои правила безопасности на
".read": "true"
, тогда я смогу прочитать свои данные.
После входа в систему я могуПолучите доступ к моему FirebaseUser, и у него есть заполненный uid, который совпадает с uid в Аутентификации Firebase, поэтому кажется, что входная часть верна.Я регистрируюсь следующим образом
final FirebaseAuth _auth = FirebaseAuth.instance;
final GoogleSignIn _googleSignIn = new GoogleSignIn();
//do auth
var googleAccount = await _googleSignIn.signIn();
var googleAuth = await googleAccount.authentication;
await _auth.signInWithGoogle(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken,
);
После ожидания успешного входа пользователя я подключаюсь к базе данных следующим образом:
var firebaseApp = await FirebaseApp.configure(
name: 'db2',
options: const FirebaseOptions(
googleAppID: GoogleSettings.googleAppID,
apiKey: GoogleSettings.apiKey,
databaseURL: GoogleSettings.databaseURL,
),
);
var db = new FirebaseDatabase(app: firebaseApp);
//get data
var popsicles = new List<String>();
var popsicleRef = db.reference().child('popcicles');
var result = await popsicleRef.once ();
Используемые плагины (все последние на 31/5/18)
- версия флаттера составляет 0,4.4
- google_sign_in: 3.0.2
- firebase_auth: 0.5.10
- firebase_database: 1.0.0
- firebase_core: 0.2.3
Изменить - добавленСуть Вот суть проблемы (здесь я читаю данные вместо того, чтобы писать, мои правила безопасности находятся вверху страницы)
https://gist.github.com/twistedinferno/7bc7c62239e009e5195ed4576e7099e8


Я не уверен, где я иду не так?Нужно ли связывать мой FirebaseApp или мою базу данных Firebase с моим FirebaseUser?