Skip to content

Remove DRF session authentication for debug mode#845

Merged
nvo87 merged 1 commit into
masterfrom
remove-drf-sessions-if-debug
Jul 13, 2026
Merged

Remove DRF session authentication for debug mode#845
nvo87 merged 1 commit into
masterfrom
remove-drf-sessions-if-debug

Conversation

@nvo87

@nvo87 nvo87 commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Проблема

Если у нас есть локальная джанга в докере на localhost:8000 и фронтенд на localhost:3000 часто происходит следующее:

  1. Мы заходим в приложение
  2. Мы заходим в админку
  3. Мы возвращаемся в приложение и теперь все запросы отдают 403 ""CSRF Failed: Origin checking failed - https://localhost:3000/ does not match any trusted origins."
  4. И это потому что кука csrf и sessionId от Django Admin теперь приклеены ко всем запросам фронта, даже если фронт работает через JWT в хедерах
  5. Чтобы это пофиксить нужно вручную удалить их из памяти браузера, но в таком случае нас разлогинит из админки

Решение

Со стороны бека: эта проблема возникает на открытых ручках (очень не удобно при авторизации). Происходит, потому что при DEBUG у нас DRF пытается авторизоваться так же и по сессиям.
Решил, что самое простое отказаться от сессий для DRF. Заодно удаляю и BrowsableAPIRenderer - кажется им давно уже никто не пользуется, а в агентский век, так уж точно.

Артефакт в basecamp

@nvo87 nvo87 enabled auto-merge (squash) July 13, 2026 09:29
@nvo87 nvo87 merged commit 48338cd into master Jul 13, 2026
3 checks passed
@nvo87 nvo87 deleted the remove-drf-sessions-if-debug branch July 13, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant