nuxt中间件登录校验问题

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

回到顶部