gpt4 book ai didi

javascript - onAuthStateChanged 刷新后不起作用

转载 作者:行者123 更新时间:2023-11-28 05:14:03 26 4
gpt4 key购买 nike

当我登录后立即刷新网页时,以下代码会生成一个空用户。此外,当访问 token 过期时,页面会自动注销。如何解决这个问题?

function initApp() {
firebase.auth().onAuthStateChanged(function(user) {
console.log("user in onAuthStateChanged:");
console.log(user);
userGlobal = user;
if (user) {
$("#logindiv").hide();
$("#userWelcome").text("Welcome, " + user.email);

$("#logOut").click(function(){
firebase.auth().signOut().then(function() {
$("#logindiv").show();
$("#testdiv").hide();
}, function(error) {
alert(error);
})
});

$("#testdiv").show();

visiProgcontroller.init(function() {
visiProgcontroller.makeUIactions();
})
}

else {
$("#loginButton").click(toggleSignIn);
$("#logindiv").show();
$("#testdiv").hide();
}

})
}

window.onload = function() {
initApp();
};

编辑:可能的原因是以下代码。当我将其注释掉时,onAuthStateChanged 返回非空用户。我一放回去,用户就为空。对于为什么这会阻止/使用户为空有任何有根据的猜测吗?

    visiProgcontroller.init(function() {
visiProgcontroller.makeUIactions();
});

解决方案

发现错误。我正在做 localStorage.clear(),我认为 firebase 以某种方式使用此本地存储来验证访问 token 。

最佳答案

正如您在最近的编辑中所说,您的错误是在您触发 localStorage.clear() 后发现的。有关这如何以不同方式影响您的应用程序的更多信息,您可能需要 look at this article .

很高兴您能正常工作!

关于javascript - onAuthStateChanged 刷新后不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41132048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com