我目前在Web上使用firebase进行侧面项目,它使用用户身份验证。我让用户登录,然后创建一个游戏室,重定向到游戏的单独页面" room"。页面重定向后虽然我无法提取任何用户数据,但我这样做的唯一方法是重新初始化firebase并使用
auth.onAuthStateChanged(function(user) {
if (user && user != null) {
uid = user.uid;
email = user.email;
currUser = user;
} else {
//user isnt logged in
window.location.href = 'index.html';
}
似乎可能有一种更简单的方法来做到这一点,但我似乎无法让它工作,这种方式也会混淆我的其他代码的部分。
答案 0 :(得分:3)
附加onAuthStateChanged
回调是获取用户的惯用方法。
你 也可以通过firebase.auth().currentUser
获得用户。但是,如果需要令牌刷新,则在这种情况下您可能会错误地检测到没有用户。这就是推荐onAuthStateChanged
回调的原因。