useFetchAuth
Что нужно для правильной работы функции
- Выставить значение
csrftoken
вcookie
. - Настроить локальный токен в
runtimeConfig
и.env
.
Настройка локального токена
Для начала необходимо добавить параметр в runtimeConfig
в dev
-режиме.
ts
$development: {
runtimeConfig: {
public: {
authToken: undefined
}
}
}
После чего нужно добавить соответствующий токен в .env
.
dotenv
NUXT_PUBLIC_AUTH_TOKEN=<token>
Функция для работы с эдпоинтами с авторизацией. В ней используется useFetch
, поэтому используется она один в один.
Решает 3 задачи:
- Проксит
cookie
клиента в серверные запросы приSSR
. - Добавляет заголовок
X-CSRFToken
со значением изcookie
csrftoken
. - В
dev
-режиме добавляет заголовокAuthorization
со значением из.env
.
WARNING
Если cookie
будут переданы в серверный запрос, то функция не проксит их на клиент.
Соответственно, если есть задача при первом входе пользователя на страницу выставить ему cookie
, нужно решать эту задачу отдельно, и делать запрос на клиенте.
Параметры
url
-URL
для запросаoptions
- параметры запроса
Возвращаемый объект
Функция возвращает тоже самое, что и useFetch
.
Использование
Функция используется один в один как useFetch
.
ts
const { data, error } = await useFetch<Response>("/auth/csrf/", {
baseURL: useRuntimeConfig().public.apiBase
})