FirebaseUI for Web — Auth - 如何重新进行身份验证



我正在使用 FirebaseUI for Web — Auth widget 来简化身份验证工作流程,但我遇到了一个问题。第一次一切正常。但是,在我登录后,小部件内容会清除,并且"登录方式..."按钮永远不会回来。尝试重新创建小部件会显示错误"UI 小部件已在页面上初始化。每页只能初始化一个小部件实例。

这意味着用户需要刷新页面才能恢复登录按钮。还有比这更优雅的方式吗?

您是否在单页应用程序中呈现小部件?如果是这样,这目前不起作用。每当您希望用户登录时,都必须在弹出窗口中呈现登录小组件。

正如 bojeil 在第一个答案(2016 年 5 月)中所说,在单页应用程序工作流中使用它确实存在问题。但在较新版本的 firebase-ui 中,您实际上可以重置小部件,这样就不需要再次初始化它。

您需要做的就是将小部件实例引用保留在变量中。然后,当您要再次渲染它时,使用相同的引用,重置它,然后重新启动它。

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

最新更新