2016-05-24 7 views
6

Używam FirebaseUI dla Web - widget Auth, aby uprościć przepływ pracy auth i utknąłem z problemem. Wszystko działa poprawnie za pierwszym razem. Ale po zalogowaniu się zawartość widżetu zniknie, a przyciski "Zaloguj się za ..." nigdy nie wrócą. Próba odtworzenia widżetu powoduje wyświetlenie błędu "Widżet interfejsu użytkownika jest już zainicjowany na stronie." Na jednej stronie można zainicjować tylko jedną instancję widgetu. "FirebaseUI for Web - Auth - jak dokonać ponownego uwierzytelnienia?

Oznacza to, że użytkownicy muszą odświeżyć stronę, aby odzyskać przyciski logowania. Czy istnieje bardziej elegancki sposób?

Odpowiedz

1

Czy renderujesz widżet w jednej aplikacji strony? Jeśli tak, to obecnie nie będzie działać. Będziesz musiał wyrenderować widget z podpisem w wyskakującym okienku, kiedy tylko zechcesz się zalogować.

0

Jak wyjaśnił Bojeil w pierwszej odpowiedzi (maj 2016), wystąpił problem z korzystaniem z niego w przepływie pracy z jedną stroną aplikacji. Ale w nowszych wersjach firebase-ui możesz zresetować widżet, więc nie będziesz musiał go ponownie inicjować.

Wszystko, co musisz zrobić, to zachować referencję instancji widgetów w zmiennej. Następnie, gdy chcesz go ponownie wyświetlić, użyj tego samego odniesienia, zresetuj je, a następnie uruchom ponownie.

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