2016-06-28 7 views
5

entschuldigen Sie bitte die Einfachheit meiner Frage, aber ich kann nicht Rebase/Firebase aufgrund Berechtigungsfehler zu arbeiten (Rebase sehr ähnlich ist https://github.com/tylermcginnis/re-base zu Firebase)React/Rebase/Firebase-Warnung: Berechtigung verweigert - Wie füge ich Benutzerauthentifizierung hinzu?

Ich baue eine einfache Website als Teil eines React.js Tutorial und ich möchte einfach einen Zustand auf meiner Seite beibehalten. Um dies zu tun, möchte ich nur die Firebase-Datenbank ohne Benutzerauthentifizierung. Wenn ich jedoch die Datenbank einrichte, erhalte ich Berechtigungsfehler, sodass die Benutzerauthentifizierung obligatorisch sein muss.

Dies ist, was ich an der Spitze meiner main.js haben:

var Rebase = require('re-base'); 
var base = Rebase.createClass('https://fishmonger-f3761.firebaseio.com/'); 

und dann in meinem Haupt-App Komponente, habe ich dies:

componentDidMount : function() {  
    base.syncState(this.props.params.storeId + '/fishes', { 
     context : this, 
     state : 'fishes' 
    }); 

ich die folgende Warnung erhalten in Meine Konsole:

FIREBASE WARNING: set at /(*my custom store name*)/fishes/fish1/name failed: permission_denied 

Wie füge ich in anonyme Browsersitzung basierte Benutzerauthentifizierung hinzu, um diesen Fehler zu ignorieren?

Antwort

7

Firebase-DB-Standardregeln erfordern Authentifizierung.

Von der Get Started with Database Rules Seite:

standardmäßig benötigen, um Ihre Datenbank Regeln Firebase Authentifizierung und Gewährung vollständiger Lese- und Schreibberechtigungen nur für authentifizierte Benutzer. Die Standardregeln stellen sicher, dass auf Ihre Datenbank nicht von irgendjemandem zugegriffen werden kann , bevor Sie eine Chance bekommen, es zu konfigurieren.

Das bedeutet, dass Sie beispielsweise jedem Zugriff gewähren können. Sie müssen nur die Standardregeln der Datenbank wie folgt aus (wieder von der gleichen Dokumentationsseite) suchen ändern:

// These rules give anyone, even people who are not users of your app, 
// read and write access to your database 

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

die anderen Proben auf der Seite lesen I verknüpft, einen zu finden, die Ihren Bedürfnissen entsprechen.

EDIT

Um die Regeln zu Ihrer Konsole zugreifen gehen (stellen Sie sicher, dass Sie in Google angemeldet sind) und wählen Sie „Datenbank“ in der Seitenleiste Menü, dann klicken Sie auf die Registerkarte „Regeln“. Die URL sollte etwas wie https://console.firebase.google.com/project/<your-project>/database/rules sein

+0

Vielen Dank für die Antwort. Ich habe den Regelteil bemerkt, aber zu keinem Zeitpunkt in der Dokumentation steht, wo der Regelcode liegt. Eine rules.json Datei oder so? – Marcus

+0

Sie können die Regeln auf der Registerkarte Regeln in Ihrer Firebase-Konsole ändern: "Firebase"> "Datenbank"> "Regeln". –

+0

@Marcus Überprüfen Sie meine aktualisierte Antwort. –