Маршрутизатор приложений Next.js и руководство по SSR
Пошаговое архитектурное руководство по интеграции Aurabase в приложение Next.js 14/15 App Router с серверными компонентами, действиями сервера, промежуточным программным обеспечением и безопасными сеансами.
Модель Aurabase SSR
В современных приложениях, отображаемых на стороне сервера, состояние аутентификации пользователя не может храниться в localStorage браузера (недоступно для сервера). Aurabase автоматически синхронизирует сеанс в защищенных файлах cookie HTTP .
createServerClient не имеет общего состояния в памяти. Каждый запрос сервера создает экземпляр изолированного клиента, подключенного к HTTP-заголовкам запроса, гарантируя абсолютную герметичность между пользователями (нулевой риск утечки сеанса).
Три столпа App Router
Веб-браузеры ограничивают размер файла 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() в промежуточном программном обеспечении, чтобы обновить токены до истечения их срока действия.