2017-09-24 4 views
0

In meiner Datenbank Feuerbasis, ich habe die folgende Regel festgelegt:Genehmigung Firebase-Datenbank eingestellten Wert verweigert

{ 
    "rules": { 
    "Users": { 
     "$uid": { 
     ".write": "$uid === auth.uid", 
     ".read": "$uid === auth.uid" 
     } 
    } 
    } 
} 

Ich entwickle iOS-App mit Firebase. Ich benutze Facebook-Authentifizierung zu meiner App anmelden, würde Ich mag Benutzer-ID-Datenbank hinzuzufügen, wenn die Anmeldung erfolgreich ist, dies ist mein Code:

let ref = Database.database().reference() 
... 
// I got uid 
ref.child("Users").setValue(uid) 

Aber ich habe Fehler:

setValue: or removeValue: at /users failed: permission_denied 

Warum ?

Antwort

0

Sie sind nicht berechtigt, einen Wert in /users zu schreiben, daher wird die Operation verweigert.

Sie tun haben Erlaubnis, einen Wert zu schreiben /users/$uid. Sie versuchen wahrscheinlich, etwas in der Art zu tun:

+0

Vielen Dank, aber wie kann ich UID "Benutzer" nur für Facebook authentifizierten Benutzer hinzufügen? Wie ich in meiner Frage erwähnt habe, ist die 'uid' der erfolgreich eingeloggte Benutzer (Facebook Login) –

+0

Das Code-Snippet, das ich geteilt habe, löst die Fehlermeldung, die du in deiner Frage hast. Wenn Sie zusätzlich ermitteln möchten, ob der Benutzer bei Facebook angemeldet ist, lesen Sie https://stackoverflow.com/questions/39056853/how-to-detect-if-a-user-has-signed-in-to-my-. app-using-firebase-mit-facebook-em –

Verwandte Themen