cookie-universal 踩坑两枚

2020-12-28  本文已影响0人  梧桐月明中

最近处理 nuxt 同构应用的权限问题,用 cookie-universal-nuxt 来进行 cookie 操作,遇到一点恼人的问题,现记录如下供参阅。

问题一:

服务端请求端口返回401权限错误

线索:

解决:
改token名,token太通用了,改成udm_token

问题二:

依然存在返回401问题,具体时机为登录后在个人中心页刷新,接口返回401,在其它页面刷新不会

线索:

    set(name = '', value = '', opts = { path: '/' }) {
      if (isNeither) return
      value = typeof value === 'object' ? JSON.stringify(value) : value

      if (isServer) {
        const cookies = getResponseCookies()
        cookies.push(Cookie.serialize(name, value, opts))
        setResponseCookie(cookies)
      } else {
        document.cookie = Cookie.serialize(name, value, opts)
      }
    }
// 错误
this.$cookies.set('udm_token', token, {
    maxAge: 60 * 60 * 24 * 7
})

解决:
在手动传入 options 时一并添加 path: '/' 得以解决

this.$cookies.set('udm_token', token, {
    maxAge: 60 * 60 * 24 * 7,
    path: '/'
})

总结:

解决下来回头看觉得问题挺蠢的,感叹规范化代码和好好看文档的重要性。
不过掉坑挣扎爬出来的过程,也是分析解决问题过程,还熟悉了源码和原理,收获也不少,哈哈。

上一篇下一篇

猜你喜欢

热点阅读