Tengo una aplicación web Django que tiene tanto un componente front-end accesible a través de la web como una API a la que accede un cliente de escritorio. Sin embargo, ahora con el nuevo componente de middleware CSRF, las solicitudes API del cliente de escritorio que tienen POST reciben un 403.Tener una API POST'able y el middleware CSRF de Django
Entiendo por qué ocurre esto, pero ¿cuál es la manera correcta de solucionarlo sin comprometer la seguridad? ¿Hay alguna forma en que pueda indicar en el encabezado HTTP que se trata de una solicitud de API y que Django no debería estar buscando CSRF o es una mala estrategia?
Edit--
El método que estoy usando en este momento es que el cliente de escritorio establece un encabezado, X-solicitada-Con: XMLHttpRequest. Esto es un poco hacky, pero no estoy seguro de cómo se manejaría mejor.
desde su solución temporal (desde la última edición) básicamente está apagando csrf, puede apagar el middleware por completo, ¿no? :) –
Tiene que estar activado para el resto del sitio (la parte del front-end) –