Django + Vuejs | Forbidden (403) CSRF-проверка не удалась. Запрос прерван. | Причина отказа: CSRF cookie не установлен [закрыто]
В настоящее время я внедряю VueJS в свое Django-приложение. Во время его ранней разработки у меня не было причин использовать какой-либо фронтенд-фреймворк из-за изначальных рамок проекта. Но теперь, спустя много месяцев, я столкнулся с необходимостью лучшего фронтенд-решения. Я выбрал VueJS по разным причинам.
Я столкнулся с этой проблемой при попытке войти в систему: моя ошибка
При реализации функции входа/регистрации я остановился на следующих вариантах:
Во-первых, это мой файл settings.py:
это мой Django views.py
а это Axios.js:
import axios from 'axios';
import { baseURL } from './api/BaseURL.ts';
export async function fetchCSRFToken() {
try {
const response = await axios.get(`${baseURL}/utente/get-csrf-token/`, {
withCredentials: true,
});
console.log("TOKEN CSRF OTTENUTO", response);
return response.data.csrfToken;
} catch (error) {
console.error('Error fetching CSRF token:', error);
return null;
}
}
const instance = axios.create({
baseURL: baseURL,
});
instance.interceptors.request.use(
async config => {
// Fetch CSRF token
const csrfToken = await fetchCSRFToken();
if (csrfToken) {
console.log(csrfToken);
config.headers['X-CSRFToken'] = csrfToken;
}
return config;
},
error => {
return Promise.reject(error);
}
);
export default instance;
Сначала я подумал, что дело в том, что CSRF-токен не был отправлен в заголовки запроса, но это не так: на самом деле, когда я открываю консоль и проверяю заголовки, я нахожу следующее. это заголовок
Что я пробовал:
- Я пробовал очищать куки безрезультатно
- Я пробовал инкогнито
- Я пробовал запускать как на localhost, так и на ngrok
- Я пробовал множество решений, найденных в Интернете как в различных официальных документах, так и в других сообщениях Stack Overflow.
- Я много раз пытался использовать декораторы для того, чтобы изменить требуемый статус токена и заставить его (каким-то образом) быть ответом).
Я перепробовал все решения, предложенные в отдельных постах, и все же я здесь, в полном отчаянии. Я умоляю, умоляю любого помочь мне решить эту надвигающуюся проблему, потому что она буквально сводит меня с ума. Заранее спасибо тем, кто достаточно добр, чтобы взглянуть на этот материал.