nuxtServerInit не получает файлы cookie аутентификации - PullRequest
0 голосов
/ 26 мая 2020

У меня есть функция nuxtServerInit, и она должна получать данные браузера всех пользователей, включая файлы cookie, но не получает файлы cookie модуля аутентификации (но не каждый раз!) (Я говорю о токене JWT Bearer).

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

В правом случае это будет выглядеть примерно так: i18n_redirected=en; auth.strategy=local; auth._token.local=Bearer%20eyJhbG*******

Но в других браузерах (например, Edge) ТОЛЬКО после перезапуска браузера будет выведено следующее: i18n_redirected=en. Но тогда, если вы обновите сайт или откроете его в другой вкладке, все будет в порядке.

Я не понимаю, ПОЧЕМУ. Он работает так случайно ... Например, в моем основном браузере (chrome) он не отправляет файлы cookie при каждом первом запуске (как я уже сказал), но затем, когда я просто обновляю страницу, которую он отправляет все просто отлично. Я пытался повторить эту ошибку нарочно, и она сработала несколько раз, а потом перестала ... Но в браузере Edge работает постоянно. Файлы cookie остаются там, как и раньше, но nuxt их просто не получает. У меня нет каких-то специальных надстроек для куки-файлов, все работает по умолчанию ...

Это какой-то кеш или что? Кто-нибудь может мне с этим помочь, пожалуйста.

1 Ответ

0 голосов
/ 26 мая 2020

Оказывается, модуль Nuxt Auth устанавливает свои файлы cookie expires в пустую строку, поэтому в конце концов это просто файлы cookie на основе сеанса, которые не отправляются на сервер по запросу ax ios. Мне пришлось вручную установить дату истечения срока действия для настройки модуля аутентификации ie в nuxt.config.js:

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

Я все еще не думаю, что это правильно, что он не устанавливает дату истечения срока действия самостоятельно . Самое интересное во всем, что есть в nuxt, заключается в том, что многие вещи работают прямо из коробки, и модуль auth не должен работать так с собственной функцией nuxt, которая не похожа на редко используемую. Пришлось потратить 3 часа на это: (

...