【问题标题】:how to reauthenticate user with firebase authentication?如何使用firebase身份验证重新验证用户?
【发布时间】:2020-10-13 15:03:19
【问题描述】:

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

因此,如果在页面中刷新时,身份验证将消失,并在终端中显示错误“权限被拒绝”。

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

firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
.then(function() {
return firebase.auth().signInWithEmailAndPassword(email, password);
})

【问题讨论】:

    标签: javascript node.js firebase google-cloud-firestore nuxt.js


    【解决方案1】:

    身份验证会话自动持久化在您应用的前端,但是 Nuxt.js 包含前端和后端部分。如果您将用户数据存储在前端的某个位置,您可能需要等到用户数据可供访问。

    监听器示例:

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

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

    因此,在您的情况下,您似乎正在尝试在用户数据可访问之前读取数据(这可能是由于尝试在后端获取数据造成的)。

    【讨论】:

      猜你喜欢
      • 2018-03-28
      • 2017-05-15
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 2019-03-15
      • 2017-03-18
      • 2018-01-11
      相关资源
      最近更新 更多