Firebase Web将用户重定向到登录页面

问题描述 投票:0回答:1

试图通过Firebase简单地将经过身份验证的用户重定向到home.html和那些不通过login.html的用户。

firebase.auth().onAuthStateChanged(function (user) {
  if (user) {
    console.log('SIGNED IN');
    window.location.href = "home.html"; // <-- This is not good...
  } else {
    console.log('NOT SIGNED IN');
  }
});

每个人都说要使用这段代码,如果用户已登录,它确实可以跟踪,但是如果我把那行放在if检查中,那么只会导致无限循环不断地将浏览器重定向到主页用户已通过身份验证。

我错过了一些简单的东西吗?

javascript firebase firebase-authentication
1个回答
0
投票

您显示的代码将在身份验证状态更改时重定向,以显示存在用户。这将在任何正在加载的页面中触发,因为如果用户登录,SDK在页面加载之前不知道.SDK必须等待init完成才能触发监听器。所以,听起来这不是你想要的。

您需要做的是具体定义应用程序中您希望重定向发生的位置,并确保在重定向之前满足条件和时间要求。

© www.soinside.com 2019 - 2024. All rights reserved.