Aurabase-Logo
AurabasisDokumente
Dokumente›Führer›Next.js App Router und SSR

Next.js App Router und SSR-Leitfaden

Schritt-für-Schritt-Architekturanleitung zur Integration von Aurabase in eine Next.js 14/15 App Router-Anwendung mit Serverkomponenten, Serveraktionen, Middleware und sicheren Sitzungen.

10 Min. gelesen·Ebene Mittelstufe·Überarbeitet am 19.08.2026
Dieser englische Text wurde automatisch aus dem französischen Original generiert und wurde noch nicht überprüft.
Diese Seite wurde automatisch übersetzt. Maßgeblich ist die englische Version.
#
Architektur

Das Aurabase SSR-Modell

In modernen serverseitig gerenderten Anwendungen kann der Authentifizierungsstatus des Benutzers nicht im localStorage des Browsers gespeichert werden (für den Server nicht zugänglich). Aurabase synchronisiert die Sitzung automatisch in sicheren HTTP-Cookies.

Vollständige Abfrageisolation

createServerClient hat keinen gemeinsamen Status im Speicher. Jede Serveranfrage instanziiert einen isolierten Client, der mit den HTTP-Headern der Anfrage verbunden ist, wodurch absolute Sicherheit zwischen Benutzern gewährleistet wird (kein Risiko von Sitzungslecks).

#
Umsetzung

Der 3-Säulen-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
}
#
Kekse

Automatische Verwaltung von Multi-Chunking

Webbrowser begrenzen die Größe eines Cookies auf etwa 4 KB. Wenn ein JWT-Token oder Benutzermetadaten diesen Grenzwert überschreiten, teilt das Modul @aurabase/aurabase-js/ssr die Last automatisch in mehrere nummerierte Cookies auf:

  • aura-[project_id]-auth.0 (erste 3600 Bytes)
  • aura-[project_id]-auth.1 (Rest der Sitzung)

Beim Lesen setzt der Server die Blöcke originalgetreu wieder zusammen, um den Zustand ohne Datenverlust oder Sitzungsunterbrechung wiederherzustellen.

#
Sicherheit

Goldene Regeln in der Produktion

HttpOnly- und SameSite-Attribute

Aktualisierungstoken-Cookies sollten niemals Client-JavaScript ausgesetzt werden, um XSS-Angriffe zu verhindern.

Rollenschlüsseldienst ausschließlich Server

Übergeben Sie Ihren SERVICE_ROLE_KEY NIEMALS an createBrowserClient oder Komponenten mit der Anweisung „use client“.

Aktualisieren Sie in der Middleware

Rufen Sie in der Middleware immer getSession() oder getUser() auf, um Token zu erneuern, bevor sie ablaufen.

Zuletzt aktualisiert · 19.08.2026