Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Next.js: nextjs, middleware, authentication

Что такое middleware в Next.js и для чего они используются?

Вопрос проверяет понимание концепции middleware в Next.js — функций, которые выполняются до обработки запроса и позволяют модифицировать ответ, перенаправлять пользователя или выполнять логику аутентификации.

Короткий ответ

Middleware в Next.js — это код, который выполняется на edge-сервере (или Node.js) перед тем, как запрос достигнет вашей страницы или API-роута. Он часто используется для аутентификации, проверки прав доступа, перезаписи URL-путей, работы с cookies и локализации.

Длинный ответ

Middleware работает как промежуточный слой (middle layer) между входящим запросом и вашим приложением.

Распространенные сценарии использования:

  1. Аутентификация и авторизация:

    • Проверка JWT-токена из cookie или заголовка.

    • Перенаправление неавторизованных пользователей на страницу логина.

    // middleware.js
    import { NextResponse } from 'next/server';
    export function middleware(request) {
      const token = request.cookies.get('auth-token');
      if (!token) {
        return NextResponse.redirect(new URL('/login', request.url));
      }
      // Если токен есть, пропускаем запрос дальше
      return NextResponse.next();
    }
  2. Локализация (i18n):

    • Определение языка пользователя и перенаправление на соответствующий поддомен или путь (/en/about, /ru/about).

  3. Защита роутов:

    • Блокировка доступа к админ-панели для пользователей без прав.

    • Проверка CORS для API-роутов.

  4. A/B-тестирование и перенаправления:

    • Показ разных версий страницы разным пользователям based on cookies или других параметров.

  5. Логирование и аналитика:

    • Запись информации о запросах.

Технические детали:

  • Middleware работает на Edge Runtime по умолчанию (более быстрый, но с ограничениями) или на Node.js Runtime.

  • Файл middleware должен называться middleware.js и располагаться в корне проекта или в папке src.

  • Можно настраивать matchers для фильтрации запросов, к которым применяется middleware.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • Next.js

    Next.js

Ключевые слова

#nextjs

#middleware

#authentication

Подпишись на React Developer в телеграм