2016-05-24 41 views
6

Sto utilizzando FirebaseUI per Web - Il widget di autenticazione per semplificare il flusso di lavoro di autenticazione e sono bloccato con un problema. Tutto funziona bene la prima volta. Ma, dopo aver effettuato l'accesso, i contenuti del widget vengono cancellati e i pulsanti "Accedi con ..." non tornano più. Cercando di ricreare il widget viene visualizzato l'errore "Il widget dell'interfaccia utente è già inizializzato nella pagina. È possibile inizializzare una sola istanza del widget per pagina".FirebaseUI per Web - Auth - come autenticare di nuovo?

Ciò significa che gli utenti devono aggiornare la pagina per ripristinare i pulsanti di accesso. C'è un modo più elegante?

risposta

1

Stai rendendo il widget in un'applicazione singola pagina? Se è così, questo al momento non funzionerà. Dovrai rendere il widget di accesso in un popup ogni volta che desideri che l'utente effettui l'accesso.

0

Come bojeil ha dichiarato nella prima risposta (maggio 2016), si è verificato un problema nell'utilizzo dei flussi di lavoro delle applicazioni di una sola pagina. Ma nelle versioni più recenti di firebase-ui puoi effettivamente reimpostare il widget in modo da non doverlo inizializzare di nuovo.

Tutto ciò che dovete fare è mantenere il riferimento dell'istanza del widget in una variabile. Quindi, quando vuoi renderlo di nuovo, usi lo stesso riferimento, resettalo e riavvialo.

var ui; 
if (ui) { 
    ui.reset(); 
} else { 
    ui = new firebaseui.auth.AuthUI(firebase.auth()); 
} 
ui.start('#firebaseui-auth-container', uiConfig);