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.
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.
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).
Der 3-Säulen-App-Router
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.
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.