iac/apps/django
emelinda a67ab33e5d Django: DELETE падал в 403 — сессия без X-CSRFToken
SPA аутентифицируется сессионной кукой и не прикладывает X-CSRFToken, а
SessionAuthentication из DRF требует его на любом небезопасном методе:

  DELETE /api/core/videos/<id>/  ->  403
  {"detail": "CSRF Failed: CSRF token missing."}

Проверено на контуре, тремя запросами по несуществующему id (403 = отказ
авторизации, 404 = авторизация прошла):

  Bearer-токен                 -> 404   CSRF не при чём
  сессия + X-CSRFToken         -> 404   проходит
  сессия без X-CSRFToken       -> 403   ровно наша ошибка
  без авторизации              -> 401

То есть бэкенд исправен, ломается ровно сочетание "кука без заголовка".
С Bearer до SessionAuthentication дело не доходит: simple_jwt стоит в
DEFAULT_AUTHENTICATION_CLASSES раньше.

Ставим подкласс с пустым enforce_csrf на то же пятое место. Цена — с
cookie-запросов снимается защита от CSRF. Основной вектор закрыт самими
куками (sessionid и csrftoken выставляются с SameSite=Lax, браузер не
пошлёт их при кросс-сайтовом DELETE); остаётся щель в соседях по домену,
поскольку SameSite смотрит на site, а не на origin.

Импорт rest_framework в модуле настроек безопасен не всегда — обычно так
ловят AppRegistryNotReady. Здесь проверено запуском django.setup() внутри
работающего пода backend: setup проходит, строка пути к классу резолвится.
2026-08-10 13:25:06 +03:00
..
aero Django: DELETE падал в 403 — сессия без X-CSRFToken 2026-08-10 13:25:06 +03:00
base ++ 2026-08-07 13:27:56 +05:00
brusnika-prod ++ 2026-06-07 13:35:36 +05:00
brusnika-stage ++ 2026-06-10 17:04:41 +05:00
d8-ugmk-prod Add message-hub HelmRelease to d8-ugmk-prod: configure Kafka topics, environment variables, and enable Kafka integration in django. 2026-08-05 17:09:39 +03:00
dsinv ++ 2026-07-28 18:11:41 +05:00
yc-ecp Add S3 Proxy apps to yc-ecp: define s3-proxy and s3-proxy-bim HelmReleases with chart, deployment, and service configurations, and include in cluster Kustomization 2026-08-05 02:19:42 +03:00
yc-k8s-test ++ 2026-07-29 16:05:18 +05:00
.env.example Add example .env files and configuration documentation for ams-sync, auth-flow, bim, cde, comparisons, django, document-link, flows, iam, inspections services. 2026-07-14 19:23:02 +03:00
CONFIGURATION.md Add example .env files and configuration documentation for ams-sync, auth-flow, bim, cde, comparisons, django, document-link, flows, iam, inspections services. 2026-07-14 19:23:02 +03:00
ENDPOINTS.md Add example .env files and configuration documentation for ams-sync, auth-flow, bim, cde, comparisons, django, document-link, flows, iam, inspections services. 2026-07-14 19:23:02 +03:00
FRONTEND_REQUESTS.md Add example .env files and configuration documentation for ams-sync, auth-flow, bim, cde, comparisons, django, document-link, flows, iam, inspections services. 2026-07-14 19:23:02 +03:00
openapi.yaml Add example .env files and configuration documentation for ams-sync, auth-flow, bim, cde, comparisons, django, document-link, flows, iam, inspections services. 2026-07-14 19:23:02 +03:00