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.
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.
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).
De 3 pijlers App Router
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.
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.