Next.js vs Django, refresh token через axios interceptor

В связке Next.js и Django auth-логика часто начинает течь не на login, а позже, когда access token уже живет своей короткой жизнью. Если refresh делать вручную из компонентов, страниц или отдельных запросов, приложение быстро обрастает повторяющейся логикой. Где-то токен обновили, где-то забыли, где-то UI уже считает пользователя авторизованным, а API отвечает 401.

Рабочая развилка - refresh не должен жить в UI. Его лучше увести в единый auth client, который работает через axios interceptor. Тогда запрос сначала проверяет access token, при необходимости идет в Django за новым, подставляет его автоматически и повторяет исходный вызов. А если refresh уже недействителен, сессия закрывается корректно и без подвешенного состояния. Получается не ручная возня с токенами по всему приложению, а один предсказуемый auth-поток.

Статья на Хабр Витрина проекта: AI Chat github Проект: AI Chat Stepik: AI на Django и Next II

#nextjs #NextAuth #Django #DjangoRESTFramework #JWT #OAuth #Axios #TypeScript #Fullstack #authentication

Next.js vs Django, refresh token через axios interceptor | Сетка — социальная сеть от hh.ru