Как сохранить с анонимной аутентификацией в базе данных Firebase - используя Flutter - PullRequest
0 голосов
/ 24 мая 2018

Я получаю отказ в разрешении после аутентификации с помощью анонимной аутентификации

[ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (21033): PlatformException(-3, Permission denied, )
...
_getCurrentUser: FirebaseUser({providerId: firebase, uid: DOIL...............u54j1, displayName: , email: , isAnonymous: true, isEmailVerified: false, providerData: [{providerId: firebase, uid: DOIL//////////////54j1, displayName: , email: }]})

Мои правила в БД Firebase:

{
  "rules": {
    //Test rule
//     "users": {
//   "$uid": {
//     ".read": "auth != null && auth.uid == $uid",
//     ".write": "auth != null && auth.uid == $uid",
//       }
//    }

//       General rule - closed to everyone but app uses
         ".read": "auth != null",
         ".write": "auth != null"
  }
}

Код, который я использую для сохранения данных - работаетхорошо с правилами БД, установленными для открытия всем.

      _saveUserData(UserEntry userData) async {

    print("_saveUserData jsonData =" userData.toJson().toString());

    // SAVE MY DATA TO DB
    // tUsers = db reference to the child node users on Firebase
    _tUsers.push().set(talentUserData.toJson());


  }

Что я делаю не так?Любая помощь приветствуется.Благодаря.

1 Ответ

0 голосов
/ 28 мая 2018

В надежде спасти кого-то от головной боли.Я обнаружил, что проблема не в том, чтобы получить свежий экземпляр базы данных Firebase.Я создал экземпляр в моем main.dart и передал его моей домашней странице в конструкторе (согласно файлу примера в библиотеке).

Когда я получил свежий экземпляр ... от отчаянной отладки ... это сработало.Теперь я могу иметь анонимный вход, так что только люди, которые установили приложение, могут писать в базу данных.

...