按照教程中的建议,我在网络应用中实现了 Firebase 身份验证:
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 上一样工作?
最佳答案
我明白了。当我从 finder 本地存储加载网站时,没有保存身份验证状态(我不知道为什么),但是当我上传网站并从其 URL 访问它时,一切都按预期工作。
关于javascript - Firebase 身份验证在 Safari 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44234776/