Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用firebase身份验证重新验证用户?_Javascript_Node.js_Firebase_Google Cloud Firestore_Nuxt.js - Fatal编程技术网

Javascript 如何使用firebase身份验证重新验证用户?

Javascript 如何使用firebase身份验证重新验证用户?,javascript,node.js,firebase,google-cloud-firestore,nuxt.js,Javascript,Node.js,Firebase,Google Cloud Firestore,Nuxt.js,我是firebase的新手。 在具有多个页面的我的nuxt js项目中,firestore规则设置为读取或写入一次请求。auth!=空 所以,若在页面中刷新时,auth将消失,并且在终端中显示错误“权限被拒绝” 我尝试了身份验证状态持久性本地,但它不起作用。 使用这些身份验证持久化模式的目的是什么 firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL) .then(function() { return fireb

我是firebase的新手。 在具有多个页面的我的nuxt js项目中,firestore规则设置为读取或写入一次请求。auth!=空

所以,若在页面中刷新时,auth将消失,并且在终端中显示错误“权限被拒绝”

我尝试了身份验证状态持久性本地,但它不起作用。 使用这些身份验证持久化模式的目的是什么

firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
.then(function() {
return firebase.auth().signInWithEmailAndPassword(email, password);
})
Auth会话在应用程序的前端自动持久化,但是Nuxt.js包含前端和后端部分。如果将用户数据存储在前端的某个位置,则可能需要等待用户数据变得可访问

侦听器示例:

但是,这将使用户只能在前端访问,如果您想在后端预加载数据,则需要在cookie或使用模块中存储id和刷新令牌,该模块应为您处理service worker

因此,在您的情况下,看起来您正在尝试在用户数据变得可访问之前读取数据,这可能是由于尝试在后端获取数据造成的

    firebase.auth().onAuthStateChanged(function (user) {
          if (user) {
            console.log('User is logged: ', user);
          }
        });