2016-06-01 34 views
5

Sembra impossibile utilizzare la persistenza di sessione in Firebase 3.0.Persistenza sessione Firebase 3.0

questo è stato possibile nella versione precedente: https://www.firebase.com/docs/web/guide/login/password.html

authWithPassword() prende un terzo parametro opzionale, che è un oggetto contenente le seguenti impostazioni:

ricordare - String
caso contrario specificato - o impostato su predefinito - le sessioni sono protette da per tutto il tempo che è stato configurato nella scheda Accesso & di autenticazione della dashboard dell'app. Per limitare la persistenza alla durata della finestra corrente , impostarla su sessionOnly. Un valore pari a none non sarà i dati di autenticazione persistenti e terminerà l'autenticazione appena mentre la pagina viene chiusa.

Nella versione 3.0 non v'è alcuna menzione del terzo parametro opzionale: https://firebase.google.com/docs/reference/js/firebase.auth.Auth#signInWithEmailAndPassword

signInWithEmailAndPassword (e-mail, password)
rendimenti firebase.Promise contenente non nullo firebase.User

Inoltre, nella nuova console (https://console.firebase.google.com/) non riesco a trovare l'opzione per modificare la persistenza predefinita.

risposta

3

In 3.0, gli utenti sono attualmente permanenti fino a quando non viene chiamato signOut() (o l'utente cancella la memoria locale).

+0

Questo comportamento può essere modificato? Voglio usare sessionOnly, tranne quando l'utente sceglie di ricordare la sua sessione ... Per un'applicazione di sicurezza critica che verrà utilizzata su computer condivisi, non è consigliabile mantenere automaticamente la sessione. Oppure ... Come posso chiamare signOut() quando scade la sessione (quando il browser si chiude)? Non penso sia possibile ... – WSas

+1

Attualmente sessionOnly on web non è supportato, ma c'è un forte interesse nel supportarlo in futuro. – bojeil

5

Potrebbe anche essere utile ricordare che è necessario attendere la risoluzione dello stato di autenticazione. Per la documentazione:

il metodo consigliato per ottenere l'utente corrente è impostando un osservatore sull'oggetto Auth:

firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    // User is signed in. 
    } else { 
    // No user is signed in. 
    } 
}); 

Link la documentazione qui: https://firebase.google.com/docs/auth/web/manage-users

1

Firebase Auth JS SDK ora supporta sessionOnly persistence. Per ulteriori informazioni, controlla https://firebase.google.com/support/release-notes/js#4.2.0 e https://firebase.google.com/docs/auth/web/auth-state-persistence

Ora puoi specificare o attivare la persistenza dello stato di Auth prima o dopo l'accesso. Per il tuo caso, puoi specificare la persistenza della sessione solo come segue: firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION)

+0

Mentre il link può rispondere alla domanda, sarà bene aggiungere i contenuti necessari dal link a questa risposta insieme alla citazione per rendere questa come risposta anche senza un collegamento.Si prega di consultare [risposta] per maggiori dettagli –

+0

I dettagli per la risposta sono stati aggiunti. – bojeil

Problemi correlati