Logo Aurabase
aurabasedocumenti
documenti›Guide›Router e SSR dell'app Next.js

Router dell'app Next.js e guida SSR

Guida architetturale passo passo per integrare Aurabase in un'applicazione App Router Next.js 14/15 con componenti server, azioni server, middleware e sessioni sicure.

10 min letto·Livello intermedio·Revisionato il 19 ago 2026
Questo testo inglese è stato generato automaticamente dall'originale francese e non è stato ancora rivisto.
Questa pagina è stata tradotta automaticamente. Fa fede la versione inglese.
#
Architettura

Il modello SSR di Aurabase

Nelle moderne applicazioni renderizzate lato server, lo stato di autenticazione dell'utente non può essere archiviato nel localStorage del browser (inaccessibile dal server). Aurabase sincronizza automaticamente la sessione in cookie HTTP sicuri.

Isolamento completo delle query

createServerClient è senza stato condiviso in memoria. Ogni richiesta del server istanzia un client isolato connesso agli header HTTP della richiesta, garantendo assoluta tenuta tra gli utenti (zero rischi di perdite di sessione).

#
Attuazione

L'App Router a 3 pilastri

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

Gestione automatica del Multi-Chunking

I browser Web limitano la dimensione di un cookie a circa 4 KB. Quando un token JWT o metadati utente supera questo limite, il modulo @aurabase/aurabase-js/ssr suddivide automaticamente il carico in diversi cookie numerati:

  • aura-[project_id]-auth.0 (primi 3600 byte)
  • aura-[project_id]-auth.1 (resto della sessione)

Durante la lettura, il server riassembla fedelmente i blocchi in modo da ripristinare lo stato senza alcuna perdita di dati o interruzione della sessione.

#
Sicurezza

Regole d'oro nella produzione

Attributi HttpOnly e SameSite

I cookie del token di aggiornamento non devono mai essere esposti al JavaScript del client per impedire attacchi XSS.

Ruolo Servizio chiave strettamente server

Non passare MAI il tuo SERVICE_ROLE_KEY in createBrowserClient o nei componenti con la direttiva "use client".

Aggiorna nel middleware

Chiama sempre getSession() o getUser() nel middleware per rinnovare i token prima che scadano.

Ultimo aggiornamento · 19 ago 2026