0

Meine reagierende native App funktioniert gut, wenn ich online bin, jetzt versuche ich das Offline-Verhalten.firebase 3 können wir uns nach firebase.database() anmelden goOffline()?

Ich habe versucht, offline zu gehen (firebase.database(). GoOffline() dann wifi ausgeschaltet und laufen).

Ich erhalte die Feuerbasis Fehler "Auth/network-request-failed" mit dem folgenden Code:

import Firebase from 'firebase' 
config = { 
    apiKey: `${ Config.firebase.apiKey }`, 
    authDomain: `${ Config.firebase.authDomain }`, 
    databaseURL: `${ Config.firebase.databaseURL }`, 
    storageBucket: `${ Config.firebase.storageBucket }` 
} 

firebase = Firebase.initializeApp(config) 
firebase.database().goOffline() 
const credentials = Firebase.auth.EmailAuthProvider.credential(email, password) 

firebase.auth().signInWithCredential(credentials) 
.then((user) => { 
    console.log('signin ok', user) 
}) 
.catch((error) => { 
    console.log('signin error', error) 
}) 

Antwort

2

auf Firebase-Authentifizierung in Signieren erfordert eine aktive Netzwerkverbindung. Es ist nicht möglich, sich anzumelden, wenn keine aktive Netzwerkverbindung besteht.

Nach was würde die firebase.auth().signInWithCredential die E-Mail + Passwort vergleichen, wenn sie nicht auf die Server zugreifen kann?

+0

Thx Frank für Ihre Antwort, jetzt sollte es eine Möglichkeit geben, eine Art der Autorisierung offline als Firebase speichern Tokens und Daten lokal, wenn ich nicht falsch liege. Oder anders gesagt, wie verwalten wir den Offline-Modus in nativen Apps reagieren, wenn kein Netzwerk verfügbar ist? – imaginair

+2

Es gibt keine Möglichkeit, sich offline zu authentifizieren und das sollte nicht sein. Wenn Sie sich jedoch zuvor angemeldet haben und dann offline gehen, sollten Sie immer noch als angemeldet betrachtet werden, bis die Netzwerkverbindung wieder hergestellt ist. Sie können dies testen, indem Sie sich anmelden und dann offline gehen, Ihre App aktualisieren und bemerken, dass onAuthStateChanged immer noch wie erwartet mit dem Offline-Benutzer triggert und currentUser gefüllt ist. – bojeil

+0

@bojeil hab es, in der Tat noch eingeloggt, nur meinen internen Login-Prozess und App-Bootstrapping bei Online/Offline dann ändern müssen. Danke. – imaginair

Verwandte Themen