2016-06-28 56 views
5

Chiedo scusa per la semplicità della mia domanda ma non riesco a ottenere Rebase/Firebase di lavorare a causa di errori di autorizzazione (Rebase è molto simile a Firebase https://github.com/tylermcginnis/re-base)Avviso React/Rebase/Firebase: Autorizzazione negata - Come si aggiunge l'autenticazione dell'utente?

Sto costruendo un semplice sito web come parte di un React.js tutorial e voglio semplicemente mantenere un certo stato sulla mia pagina. Per fare questo, tutto ciò che voglio è il database Firebase, senza l'autenticazione dell'utente, tuttavia quando installo il database, ottengo degli errori di autorizzazione, quindi l'autenticazione dell'utente deve essere obbligatoria.

Questo è quello che ho in cima miei main.js:

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

e poi nella mia componente applicazione principale, ho aggiunto questo:

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

ottengo il seguente avviso in my console:

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

Come si aggiunge un'autenticazione utente basata su sessione browser anonima per ignorare questo errore?

risposta

7

Le regole predefinite del database Firebase richiedono l'autenticazione.

Dalla pagina Get Started with Database Rules:

Per impostazione predefinita, le regole di database richiedono Firebase autenticazione e le autorizzazioni borsa piena di lettura e scrittura solo agli utenti autenticati. Le regole predefinite assicurano che il tuo database non sia accessibile solo a chiunque prima di avere la possibilità di configurarlo.

Ciò significa che, ad esempio, è possibile concedere l'accesso a chiunque. Hai solo bisogno di cambiare le regole predefinite del database per assomigliare a questo (ancora una volta dalla stessa pagina di documentazione):

// 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 
    } 
} 

Leggi gli altri campioni sulla pagina ho collegato a trovare uno più adatto alle vostre esigenze.

EDIT

Per accedere alle regole vanno alla console (assicurarsi che si è registrato in Google) e selezionare "Database" nel menu laterale, quindi fare clic sulla scheda "regole". L'url dovrebbe essere qualcosa come https://console.firebase.google.com/project/<your-project>/database/rules

+0

Grazie v per la risposta. Ho notato la parte delle regole ma in nessun punto della documentazione dice dove va il codice delle regole. Un file rules.json o qualcosa del genere? – Marcus

+0

Puoi modificare le regole nella scheda Regole nella Console di Firebase: "Firebase"> "Database"> "Regole". –

+0

@Marcus controlla la mia risposta aggiornata. –

Problemi correlati