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 — 身份验证 — 如何重新进行身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
Facebook 的 FirebaseUI 身份验证不起作用
将 FirebaseUI 与 Twitter 登录一起使用(iOS 应用)
FirebaseUI - 在创建用户之前验证 displayName