Firebase - разрешение запрещается при загрузке пользователей - PullRequest
0 голосов
/ 29 августа 2018

Мой код:

import Foundation
import Firebase

class UserService {

    static var currentUserProfile:UserProfile?

    static func observeUserProfile(_ uid:String, completion: @escaping ((_ userProfile:UserProfile?)->())) {
        let userRef = Database.database().reference().child("users/profile/\(uid)")

        userRef.observe(.value, with: { snapshot in
            var userProfile:UserProfile?

            if let dict = snapshot.value as? [String:Any],
                let username = dict["username"] as? String,
                let photoURL = dict["photoURL"] as? String,
                let url = URL(string:photoURL) {

                userProfile = UserProfile(uid: snapshot.key, username: username, photoURL: url)
            }

            completion(userProfile)
        })
    }

}

Правила моей базы данных Firebase Realtime:

{
  "rules": {

      ".read": "auth.uid != null",
      ".write": "auth.uid != null"
    }
}

Где я все неправильно поняла?

1 Ответ

0 голосов
/ 29 августа 2018

Вы вошли в систему? Сначала вы должны войти в систему с помощью таких методов, как;

FirebaseAuth.getInstance().signInWithEmailAndPassword

или

FirebaseAuth.getInstance().signInAnonymously

или любой другой метод входа.

Другой способ, которым я не рекомендую (потому что он предоставляет доступ всем) , если вы хотите использовать его без аутентификации, вы можете изменить правила, как;

{
  "rules": {

      ".read": true,
      ".write": true
    }
}

Вы можете изменить правила после настройки вашего клиента. Но всегда учитывайте правила и составляйте таблицы в соответствии с правилами.

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