Next.js vs Django, что реально хранить в jwt/session callbacks
Один из самых недооцененных узлов в fullstack-связке Next.js и Django находится в jwt и session callbacks. Именно там часто начинается архитектурная путаница.
Типовой сценарий выглядит так. После успешного входа в session кладется не только auth-минимум, но и все, что удобно держать под рукой. Имя пользователя, тариф, лимиты, provider, профиль, иногда даже куски бизнес-состояния. Поначалу это кажется практичным. Потом backend обновляет данные, а session остается старой. Потом часть интерфейса читает session, а часть идет в API. Потом фронт уже не понимает, чему верить.
В callbacks стоит хранить только то, что нужно для auth-контра: id, accessToken, refreshToken. Все остальное должно приходить из защищенного API. Тогда NextAuth отвечает за фронтовую сессию, Django отвечает за JWT и доменные данные, а граница между ними остается чистой.
Такое решение снижает количество случайной связности и упрощает дальнейшую поддержку auth-потока.
Витрина проекта: AI Chat github
Проект: AI Chat
Stepik: AI на Django и Next II