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('/')
}
}
回答:
这里面你需要分客户端和服务端两种情况
你的代码中的Cookie.get只会在客户端获取到
在服务端需要通过req.headers.cookie获取
参考 https://zhuanlan.zhihu.com/p/35864591
以上是 nuxt中间件登录校验问题 的全部内容, 来源链接: utcz.com/p/935862.html