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