2016-05-24 2 views
6

Я использую FirebaseUI для веб-виджета Auth, чтобы упростить рабочий процесс, и я столкнулся с проблемой. Все работает нормально в первый раз. Но после входа в систему содержимое виджета очищается, а кнопки «Войти с ...» никогда не возвращаются. Попытка воссоздать виджет вызывает ошибку «Виджет UI уже инициализирован на странице. Только один экземпляр виджета может быть инициализирован на странице».FirebaseUI for Web - Auth - как повторно пройти аутентификацию?

Это означает, что пользователям нужно обновить страницу, чтобы вернуть кнопки входа. Есть ли более элегантный способ?

ответ

1

Вы визуализируете виджет в одностраничном приложении? Если это так, в настоящее время это не сработает. Вам нужно будет отобразить знак в виджетах во всплывающем окне, когда вы хотите, чтобы пользователь выполнил вход.

0

Как было указано в первом ответе (май 2016 г.), проблема была связана с его использованием в рабочих процессах с одностраничными приложениями. Но в более поздних версиях firebase-ui вы можете сбросить виджет, поэтому вам не нужно будет снова инициализировать его.

Все, что вам нужно сделать, это сохранить ссылку экземпляра виджета в переменной. Затем, когда вы хотите снова отобразить его, вы используете одну и ту же ссылку, перезагрузите ее и перезапустите.

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