nuxtServerInit不接收身份验证Cookie

我具有nuxtServerInit函数,它应该接收所有用户的浏览器数据,包括cookie,但是它不接收auth模块(但不是每次都这样)cookie(我说的是JWT Bearer令牌)。

async nuxtServerInit(store,{ req }) {
    console.log(req.headers.cookie);
}

在正确的情况下,它将显示以下内容: i18n_redirected=en; auth.strategy=local; auth._token.local=Bearer%20eyJhbG*******

但是在其他浏览器(例如边缘)中,只有在浏览器重新启动后,它才会输出:i18n_redirected=en。但是,如果您更新站点或在另一个选项卡中将其打开,就可以了。

我不明白为什么。它的工作原理如此随机……例如,在我的主浏览器(chrome)中,它不会在我第一次启动时发送cookie(就像我之前所说的),但是,当我更新页面时,它只会发送所有信息精细。我试图故意重复此错误,但该错误工作了几次,然后停止了……但是它在Edge浏览器中一直有效。 Cookies仍然像以前一样在那里,但是nuxt只是不接收它们。我没有一些特殊的Cookie加载项,所有功能都可以通过其默认选项...

这是某种正在进行的高速缓存吗?有人可以帮我吗?

iCMS 回答:nuxtServerInit不接收身份验证Cookie

结果是Nuxt Auth模块将其cookie expires设置为空字符串,因此毕竟它只是基于会话的cookie,不会在axios请求上发送给服务器。我必须手动将到期日期设置为nuxt.config.js中的auth模块cookie设置:

auth: {
  ...
  cookie: {
    options: {
      expires: new Date(new Date().getTime()+20000000000).getTime(),//thats today + a year
      maxAge: 31622400
    }
  }
},

我仍然认为这不是正确的,因为它没有自行设置到期日期。关于nuxt中所有功能的最酷的事情是,许多功能开箱即用,并且auth模块不应该像nuxt的本机功能那样工作,这种功能并不罕见。不得不在此浪费3个小时:(

本文链接:https://www.f2er.com/2273654.html

大家都在问