Next.js vs Django, refresh token через axios interceptor без ручной возни

Next.js vs Django, refresh token через axios interceptor без ручной возни

Один из практических узлов в auth-связке Next.js и Django находится не в login-flow, а в обновлении access token. Пока refresh-механика размазана по страницам, компонентам и сервисам, приложение постепенно теряет предсказуемость. Один запрос обновляет токен, второй работает со старым, третий получает 401, а UI в этот момент еще показывает, что пользователь как будто в системе.

Нормальная схема здесь такая. Refresh не должен быть обязанностью интерфейса. Для этого лучше держать один auth client с axios interceptor. Он берет токен из session, сам решает, когда нужно обновление, обращается к Django refresh endpoint, подставляет новый access token и повторяет запрос. Если refresh уже невалиден, сессия завершается, а приложение не остается в подвешенном состоянии. За счет этого auth-логика перестает быть набором локальных решений и собирается в один понятный поток.

Витрина проекта: AI Chat github

Проект: AI Chat

1
Начать дискуссию