как отправить запрос на выборку с ssr nuxt и httpOnly auth

У меня есть приложение SSR nuxt и бэкэнд laravel. В auth мы используем HttpOnly, и у нас все в порядке с большей частью кода, но есть проблема с отправкой запросов с помощью fetch и asyncData на стороне сервера.

Я знаю, что только браузер автоматически объединяет заголовок для аутентификации с запросом и отправляет его. Теперь я использую fetch, и он отправляет запросы на сервер, а на сервере нет браузера.

Я искал возможность сделать пользовательскую выборку в nuxt, но не нашел. Как мне отправить запрос с помощью fetch и asyncdata и не получить 401 error?


ОБНОВИТЬ

***: К сожалению, мне нужно изменить nuxt режим на spa с ssr, потому что я пока не нашел ответа.


person Esamani77    schedule 04.10.2020    source источник


Ответы (2)


fetch не будет отправлять файлы cookie, если вы не установите учетные данные вариант инициализации. Попробуйте установить для параметра credentials значение same-site или include следующим образом:

fetch('your-endpoint', { credentials: 'same-site' }).then(...)
person er8h    schedule 04.10.2020
comment
Вы можете об этом подробнее рассказать? Я искал это, но не понимаю, что мне делать. Надо ли писать код в nuxt? если да, то где? - person Esamani77; 04.10.2020
comment
@ Esamani77 попробуйте установить axios: { credentials: true } в своем nuxt.config.js axios.nuxtjs.org/options#credentials - person er8h; 04.10.2020

Я до сих пор не нашел ответа. Я изменил axios часть в nuxt.config.js вот так:

axios: {
    baseURL: 'https://api.iranicard.net/api/v1/admin/',
    credentials: 'same-origin',
    common: {
      'Accept': 'application/json',
      "Content-Type": "application/json"
    },
    retry: { retries: 2 },
    proxyHeaders: false
  },

Но все же после успешного входа в систему, когда в компоненте, который я использовал fetch или asyncData ловушку, я выходил из системы, и он не работал.

person Esamani77    schedule 11.10.2020