Aurabase-logo
aurabasisdocumenten
documenten›Gidsen›Next.js App-router en SSR

Next.js App Router & SSR-handleiding

Stapsgewijze architectuurgids voor het integreren van Aurabase in een Next.js 14/15 App Router-applicatie met servercomponenten, serveracties, middleware en beveiligde sessies.

10 min lezen·Niveau tussenproduct·Herzien op 19 aug 2026
Deze Engelse tekst is automatisch gegenereerd op basis van het Franse origineel en is nog niet beoordeeld.
Deze pagina is automatisch vertaald. De Engelse versie is gezaghebbend.
#
Architectuur

Het Aurabase SSR-model

In moderne server-side gerenderde applicaties kan de authenticatiestatus van de gebruiker niet worden opgeslagen in de localStorage van de browser (niet toegankelijk voor de server). Aurabase synchroniseert de sessie automatisch in beveiligde HTTP-cookies.

Volledige query-isolatie

createServerClient heeft geen gedeelde status in het geheugen. Bij elk serververzoek wordt een geïsoleerde client geïnstantieerd die is verbonden met de HTTP-headers van het verzoek, waardoor een absolute dichtheid tussen gebruikers wordt gegarandeerd (geen risico op sessielekken).

#
Implementatie

De 3 pijlers 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
}
#
Koekjes

Automatisch beheer van Multi-Chunking

Webbrowsers beperken de grootte van een cookie tot ongeveer 4 KB. Wanneer een JWT-token of gebruikersmetagegevens deze limiet overschrijdt, splitst de @aurabase/aurabase-js/ssr-module de belasting automatisch op in verschillende genummerde cookies:

  • aura-[project_id]-auth.0 (eerste 3600 bytes)
  • aura-[project_id]-auth.1 (rest van sessie)

Bij het lezen stelt de server de chunks getrouw opnieuw samen om de status te herstellen zonder enig gegevensverlies of sessieonderbreking.

#
Beveiliging

Gouden regels in de productie

HttpOnly- en SameSite-kenmerken

Refresh token-cookies mogen nooit worden blootgesteld aan client-JavaScript om XSS-aanvallen te voorkomen.

Rol Key-service strikt server

Geef NOOIT uw SERVICE_ROLE_KEY door aan createBrowserClient of componenten met de instructie "use client".

Vernieuwen in Middleware

Roep altijd getSession() of getUser() aan in de middleware om tokens te vernieuwen voordat ze verlopen.

Laatst bijgewerkt · 19 aug 2026