Logotipo de Aurabase
aurabasedocumentos
documentos›Guías›Enrutador de aplicaciones Next.js y SSR

Guía SSR y enrutador de aplicaciones Next.js

Guía arquitectónica paso a paso para integrar Aurabase en una aplicación App Router Next.js 14/15 con componentes de servidor, acciones de servidor, middleware y sesiones seguras.

10 min leer·Nivel intermedio·Revisado el 19 ago 2026
Este texto en inglés se generó automáticamente a partir del original en francés y aún no ha sido revisado.
Esta página fue traducida automáticamente. La versión en inglés es autorizada.
#
Arquitectura

El modelo Aurabase SSR

En las aplicaciones modernas renderizadas del lado del servidor, el estado de autenticación del usuario no se puede almacenar en el localStorage del navegador (inaccesible para el servidor). Aurabase sincroniza automáticamente la sesión en cookies HTTP seguras .

Aislamiento completo de consultas

createServerClient no tiene estado compartido en la memoria. Cada solicitud del servidor crea una instancia de un cliente aislado conectado a los encabezados HTTP de la solicitud, lo que garantiza una estanqueidad absoluta entre los usuarios (cero riesgo de fugas de sesión).

#
Implementación

El App Router de 3 pilares

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
}
#
galletas

Gestión automática de Multi-Chunking

Los navegadores web limitan el tamaño de una cookie a aproximadamente 4 KB. Cuando un token JWT o metadatos de usuario excede este límite, el módulo @aurabase/aurabase-js/ssr divide automáticamente la carga en varias cookies numeradas:

  • aura-[project_id]-auth.0 (primeros 3600 bytes)
  • aura-[project_id]-auth.1 (resto de sesión)

Tras la lectura, el servidor vuelve a ensamblar fielmente los fragmentos para restaurar el estado sin pérdida de datos ni interrupción de la sesión.

#
Seguridad

Reglas de oro en la producción

Atributos HttpOnly y SameSite

Las cookies de token de actualización nunca deben exponerse al JavaScript del cliente para evitar ataques XSS.

Servicio de clave de rol estrictamente servidor

NUNCA pase su SERVICE_ROLE_KEY a createBrowserClient o componentes con la directiva "usar cliente".

Actualizar en middleware

Llame siempre a getSession() o getUser() en el middleware para renovar los tokens antes de que caduquen.

Última actualización · 19 ago 2026