TGViewer
Веб-страница Веб-страница @tproger_web · 22.4K subscribers
Post #6568 1.04K
Где проверять авторизацию в Next.js, чтобы не перегружать Middleware

Проверка роли пользователя через базу прямо в Middleware выглядит логично, но выполняется на каждом совпавшем запросе: при переходе по странице, загрузке данных React Server Components и фоновой ревалидации. Один клик может породить несколько обращений к базе, а неверная настройка matcher добавит запросы к статическим файлам.

Рабочее разделение: в Middleware без базы проверить наличие и подпись JWT через jose и Web Crypto API, а роли, отзыв сессии и профиль проверять в Server Components, Route Handlers или Server Actions. Там доступны полный Node.js runtime, драйверы баз данных и пулы соединений.

Я сохранил схему двухуровневой авторизации как чеклист для ревью Next.js-проекта: проверить matcher, найти обращения к базе в middleware.js и перенести проверки с состоянием на сервер.
  • 😁 1
More from @tproger_web
  1. Oct 5, 2026Как замечать проблемы доступности ещё на этапе макета Даже аккуратный интерфейс исключает…
  2. Oct 4, 2026Post #6572
  3. Oct 4, 2026Как хранить прогресс просмотра в веб-плеере без бэкенда В разборе личного проекта HikariPl…
  4. Oct 4, 2026Когда маркетплейсу хватает Vanilla JavaScript и PWA Школьный маркетплейс Aksara-Mart собра…
  5. Oct 4, 2026Как настроить GoatCounter и отсеять ботов от живых читателей Серверные логи показывали око…
  6. Oct 3, 2026Атрибут maxlength на форме сброса пароля ломал авторизацию клиенту Vanguard Разработчик Та…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →