Saltar al contenido

CSRF falló: falta el token CSRF o es incorrecto

Queremos brindarte la mejor información que encontramos online. Nosotros deseamos que te sea de ayuda y si puedes comentarnos alguna mejora hazlo con libertad.

Solución:

Cuando está utilizando SessionAuthentication, está utilizando la autenticación de Django, que generalmente requiere que se verifique CSRF. Django REST Framework impone esto, solo para SessionAuthenticationpor lo que debe pasar el token CSRF en el X-CSRFToken encabezamiento.

La documentación de Django brinda más información sobre cómo recuperar el token CSRF usando jQuery y enviarlo en solicitudes. El token CSRF se guarda como una cookie llamada csrftoken que puede recuperar de una respuesta HTTP, que varía según el idioma que se utilice.

Si no puede recuperar la cookie CSRF, esto suele ser una señal de que no debe usar SessionAuthentication. Recomiendo buscar TokenAuthentication u OAuth 2.0 según sus necesidades.

Esto es lo que hice para resolverlo, incluí el token csrf en el formulario y usando jquery/javascrip obtuve el token csrf así cuando se cargó el documento

var $crf_token = $('[name="csrfmiddlewaretoken"]').attr('value');

lo incluyeron en los encabezados de jquery de la siguiente manera

 $.ajax(
            type: "POST",
            url: "/api/endpoint/",
            data: newEndpoint,
            headers:"X-CSRFToken": $crf_token,
            success: function (newEnd) 
                console.log(newEnd);
                add_end(newEnd);
            ,
            error: function () 
                alert("There was an error")
            
        );

Creo que es un problema de cookies.

Solución permanente: si está utilizando Postman, primero borre las cookies existentes haciendo clic en ‘X’. Luego agregue la cookie correcta.

Solución temporal (para depuración): Pruebe esto en su settings.py:

'DEFAULT_AUTHENTICATION_CLASSES': [
    # 'rest_framework.authentication.SessionAuthentication',
    'rest_framework.authentication.BasicAuthentication',
]

Si haces scroll puedes encontrar los comentarios de otros gestores de proyectos, tú asimismo tienes la habilidad insertar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *