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со значением изcookiecsrftoken. - В
dev-режиме добавляет заголовокAuthorizationсо значением из.env.
WARNING
Если cookie будут переданы в серверный запрос, то функция не проксит их на клиент.
Соответственно, если есть задача при первом входе пользователя на страницу выставить ему cookie, нужно решать эту задачу отдельно, и делать запрос на клиенте.
Параметры
url-URLдля запросаoptions- параметры запроса
Возвращаемый объект
Функция возвращает тоже самое, что и useFetch.
Использование
Функция используется один в один как useFetch.
ts
const { data, error } = await useFetch<Response>("/auth/csrf/", {
baseURL: useRuntimeConfig().public.apiBase
})