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

Posted

技术标签:

【中文标题】FirebaseUI for Web — 身份验证 — 如何重新进行身份验证?【英文标题】:FirebaseUI for Web — Auth - how to re-authenticate? 【发布时间】:2016-09-21 15:54:18 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

正如 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);

【讨论】:

以上是关于FirebaseUI for Web — 身份验证 — 如何重新进行身份验证?的主要内容,如果未能解决你的问题,请参考以下文章

FirebaseUI 身份验证在 android 上崩溃

Facebook 的 FirebaseUI 身份验证不起作用

将 FirebaseUI 与 Twitter 登录一起使用(iOS 应用)

FirebaseUI - 在创建用户之前验证 displayName

FirebaseUI,指定在特定情况下要打开的特定活动(注册后)

React:使用 firebase-ui 设置 firebase 身份验证