Логотип Аурабаза
аурабазадокументы
документы›Путеводители›Маршрутизатор приложений Next.js и SSR

Маршрутизатор приложений Next.js и руководство по SSR

Пошаговое архитектурное руководство по интеграции Aurabase в приложение Next.js 14/15 App Router с серверными компонентами, действиями сервера, промежуточным программным обеспечением и безопасными сеансами.

10 мин читать·Уровень средний·Пересмотрено 19 авг. 2026 г.
Этот текст на английском языке был создан автоматически на основе французского оригинала и еще не проверялся.
Эта страница была переведена автоматически. Английская версия является авторитетной.
#
Архитектура

Модель Aurabase SSR

В современных приложениях, отображаемых на стороне сервера, состояние аутентификации пользователя не может храниться в localStorage браузера (недоступно для сервера). Aurabase автоматически синхронизирует сеанс в защищенных файлах cookie HTTP .

Полная изоляция запросов

createServerClient не имеет общего состояния в памяти. Каждый запрос сервера создает экземпляр изолированного клиента, подключенного к HTTP-заголовкам запроса, гарантируя абсолютную герметичность между пользователями (нулевой риск утечки сеанса).

#
Выполнение

Три столпа App Router

src/middleware.tstypescript
import { createServerClient } from '@aurabase/aurabase-js/ssr'
import { NextResponse, type NextRequest } from 'next/server'

export async function middleware(request: NextRequest) {
  let response = NextResponse.next({ request })
  const aura = createServerClient(
    process.env.NEXT_PUBLIC_AURA_URL!,
    process.env.NEXT_PUBLIC_AURA_ANON_KEY!,
    {
      cookies: {
        getAll() { return request.cookies.getAll() },
        setAll(cookies) {
          cookies.forEach(({ name, value, options }) => {
            request.cookies.set(name, value)
            response.cookies.set(name, value, options)
          })
        },
      },
    })

  const { user } = await aura.auth.getUser()
  if (!user && request.nextUrl.pathname.startsWith('/dashboard')) {
    return NextResponse.redirect(new URL('/login', request.url))
  }
  return response
}
#
Файлы cookie

Автоматическое управление многофрагментацией

Веб-браузеры ограничивают размер файла cookie примерно 4 КБ. Когда токен JWT или метаданные пользователя превышают этот предел, модуль @aurabase/aurabase-js/ssr автоматически разделяет нагрузку на несколько пронумерованных файлов cookie:

  • aura-[project_id]-auth.0 (первые 3600 байт)
  • aura-[project_id]-auth.1 (оставшаяся часть сеанса)

После чтения сервер добросовестно собирает фрагменты, чтобы восстановить состояние без потери данных или прерывания сеанса.

#
Безопасность

Золотые правила в производстве

Атрибуты HttpOnly и SameSite

Файлы cookie токена обновления никогда не должны предоставляться клиентскому JavaScript для предотвращения XSS-атак.

Служба ролевых ключей строго серверная

НИКОГДА не передавайте свой SERVICE_ROLE_KEY в createBrowserClient или компоненты с директивой «use client».

Обновление в промежуточном программном обеспечении

Всегда вызывайте getSession() или getUser() в промежуточном программном обеспечении, чтобы обновить токены до истечения их срока действия.

Последнее обновление · 19 авг. 2026 г.