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.
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.
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).
L'App Router a 3 pilastri
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.
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.