nuxt中间件登录校验问题

我用nuxt的中间件做登录检验,逻辑是判断store中的token是否存在,是为登录,不是为未登录。

问题:在确定stroe中的token有值时,刷新页面会获取不到,导致走了未登录流程。我试过将token存储在cookie中,进行获取判断,仍然是不行。我的猜想是,在nuxt项目中刷新时,中间件不能获取得stroe的值。所以一时没想到解决的方法,特此寻找万能的网友,集思广益,谢谢..

//middleware/auth.js

import Cookies from 'js-cookie'

export default function({ store, route, redirect }) {
  let token = Cookies.get('ytkcToken') ? JSON.parse(Cookies.get('ytkcToken')).token : ''
  console.log(store.state.token, token)
  if (!store.state.token) {
    return redirect('/')
  }
}
阅读 3.3k
1 个回答

这里面你需要分客户端和服务端两种情况
你的代码中的Cookie.get只会在客户端获取到
在服务端需要通过req.headers.cookie获取

参考 https://zhuanlan.zhihu.com/p/35864591

推荐问题