小编jon*_*nas的帖子

具有Firebase身份验证的Nuxt SSR身份验证保护

我正在尝试使用Firebase Auth在Nuxt中实现身份验证保护,但是我一直遇到问题。目前,我可以登录,但是登录后未加载正确的页面,登录后,用户应重定向到“ / profile-overview”页面,但不会发生。当我从“配置文件”页面导航到另一个页面,然后返回时,我确实会自动转到“配置文件概述”页面。因此登录有效,登录后页面的导航/刷新有问题。另外,当我刷新页面时,该用户再次注销时,除了该用户之外,我是否还会登录?

到目前为止,我的代码:

页:

loginGoogle () {
            this.$store.dispatch('signInWithGoogle').then(() => {
                console.log('reload')
                location.reload()
                //window.location.reload(true)
            }).catch((e) => {
                this.title = 'Google login failed'
                this.message =
                    "Something went wrong, please try again later. If this problem keeps happening please contact: jonas@co-house.be " + "Error: " + e.message;
                this.dialog = true;
            })
        },
Run Code Online (Sandbox Code Playgroud)

中间件:

export default function ({ store, redirect, route }) {
    console.log('user state' + store.state.user)
    console.log('route ' + route.name)
    store.state.user != null && route.name == 'profile' ? redirect('/profile-overview') : '' …
Run Code Online (Sandbox Code Playgroud)

firebase firebase-authentication vuejs2 nuxt.js

5
推荐指数
1
解决办法
1423
查看次数

Nuxt.js在asyncData中获取Firestore数据

我正在尝试将我的VueJS应用程序转换为NuxtJS以与SSR一起使用。我被困试图用asyncData加载数据。当我将查询添加到'mounted() {}'函数中时,它可以正常工作asyncData(){},但无法使用它,因此可以使用SSR。

有谁知道如何解决这个问题。

我的代码:

 <ul>
   <li v-for='province in provinces' v-bind:key="province.id"> {{province.name_nl}}</li>
      </ul>

  asyncData () {
    return { msg: 'Welcome to my  new app' }
    const moment = require("moment");
    var date = moment(new Date()).format("YYYY-MM-DD");
    let housesArray = []
    let provincesArray = []

    return firebase.firestore()
      .collection('provinces')
      .get()
      .then(querySnapshot => {
        querySnapshot.forEach(doc => {
        provincesArray.push(doc.data());
        });
        return {provinces: provincesArray}
      });
  },
Run Code Online (Sandbox Code Playgroud)

还是我应该采取另一种方式?请记住,它确实必须与SSR一起使用。

PS:是的,此代码位于我的页面文件夹中,而不是组件中,我知道这是不允许的。

firebase vuejs2 ssr nuxt.js google-cloud-firestore

0
推荐指数
1
解决办法
698
查看次数