2016-06-15 7 views
0

In der vorherigen Version von Firebase war es möglich, den Zeitraum zu steuern, für den das Token nach der Authentifizierung gültig wäre. Mit der neuen Version haben wir dieses Steuerelement nicht. Ich kann in der Dokumentation keine klare Erklärung finden, was passiert.Wie kann der Gültigkeitszeitraum des Tokens bei der Firebase-Authentifizierung gesteuert werden?

Ich benutze E-Mail und Passwort-Authentifizierung. mit sdks 9.0.2 scheint es keine probleme mehr zu geben. aber Ich weiß nicht, wie lange mein Benutzer als solcher authentifiziert wird.

Ich habe einen Singleton FirebaseManager, die für den Staat hören:

public FirebaseManager() { 
    // allow offline capability 
    FirebaseDatabase.getInstance().setPersistenceEnabled(true); 
    mAuth = FirebaseAuth.getInstance(); 

    FirebaseAuth.AuthStateListener authStateListener = firebaseAuth -> { 
     FirebaseUser user = firebaseAuth.getCurrentUser(); 
     Log.v(TAG, "authStateListener, user: " + (user == null ? "is null" : user.getUid())); 
    }; 
    mAuth.addAuthStateListener(authStateListener); 
} 

, wenn ich bei der Verwendung haben unterzeichnet:

mAuth.signInWithEmailAndPassword(email, pwd) ... 

im Hörer oben ich einen Benutzer empfangen werden. Wenn ich meine App das nächste Mal öffne, wird der Benutzer weiterhin angemeldet und ich erhalte weiterhin einen Benutzer im Listener.

Der unklare Teil ist für wie lange? Wie es von der Feuerbasis gehandhabt wird? Wie lange bis ich mich wieder anmelden muss? Muss ich mich jedes Mal erneut mit der gleichen Funktion anmelden, wenn ich einen "user == null" erhalten habe.

die Angabe eines Benutzers == null gibt uns nicht viele Informationen und ich bin mir nicht sicher, wie man das für eine langfristige Nutzung der App von einem Benutzer implementieren und sicherstellen, dass die Benutzersitzung gültig bleibt ohne sich erneut anmelden zu müssen.

Antwort

0

Wenn ein Benutzer mit E-Mail/Passwortauth angemeldet wird, bleibt er für immer angemeldet, bis der Benutzer sich abmeldet/abmeldet.

Zum Abmelden können Sie dies verwenden. mAuth.signOut();

+0

Haben Sie etwas in der Dokumentation gesehen, in dem es steht? oder ist es eine Annahme? Ich kann nichts in dem Dokument finden, das das bisher sagt. Meine App wird in die Produktion gehen, und ich muss sicher sein. – drevlav

+0

Da ich auch an einem Projekt arbeite, das Firebase n seine Auth für ungefähr ein Jahr verwendet, kann ich das sagen und Sie sollten es versuchen und lassen Sie mich wissen, wenn es ein Problem gibt –

+0

Die neue SDKs wurde auf dem Markt ziemlich Vor kurzem hat noch niemand viel Erfahrung damit. Ich werde es versuchen, aber ich bin immer noch verwirrt wegen der fehlenden Dokumentation in dieser Sache. – drevlav