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-токен не был отправлен в заголовки запроса, но это не так: на самом деле, когда я открываю консоль и проверяю заголовки, я нахожу следующее. это заголовок

Что я пробовал:

  1. Я пробовал очищать куки безрезультатно
  2. Я пробовал инкогнито
  3. Я пробовал запускать как на localhost, так и на ngrok
  4. Я пробовал множество решений, найденных в Интернете как в различных официальных документах, так и в других сообщениях Stack Overflow.
  5. Я много раз пытался использовать декораторы для того, чтобы изменить требуемый статус токена и заставить его (каким-то образом) быть ответом).

Я перепробовал все решения, предложенные в отдельных постах, и все же я здесь, в полном отчаянии. Я умоляю, умоляю любого помочь мне решить эту надвигающуюся проблему, потому что она буквально сводит меня с ума. Заранее спасибо тем, кто достаточно добр, чтобы взглянуть на этот материал.

Вернуться на верх