0
工作,我有火力地堡权威性在我的web应用程序实现的建议教程:火力地堡验证不会在Safari
function initApp() {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
} else {
// No user is signed in.
console.log("no user signed in");
}
});
}
window.onload = function() {
initApp();
};
这完全适用于Chrome浏览器。用户身份验证状态持续存在于多个网页中。我可以在一个页面上登录,用户配置文件在下一页仍然可用。
但是,这在Safari中不起作用,用户firebase用户对象刚刚消失。在登录后,我通过将用户对象存储在Cookie或本地存储器中尝试了各种解决方法,但都没有工作。我如何在Safari(以及其他浏览器)上完成这项工作以及在Chrome上完成这项工作?
任何机会,你是否在Safari隐身模式下测试它?如果是这样,请注意Safari隐身模式下的'localStorage'大小为'0'。 –
不幸的是它不是私人模式 – c0rv0s
验证状态存储在localStorage中。如果您未使用Safari隐身程序,您能否解释导致localStorage清除的原因?在页面加载时,Firebase Auth在触发onAuthStateChanged侦听器之前检查用户是否仍然有效。如果用户被禁用或删除,它将从存储中清除。如果情况并非如此,其他的东西就是清除localStorage。 – bojeil