Aura Logo
aurabasedocumentos
documentos›Guias›Roteador de aplicativo Next.js e SSR

Guia de roteador de aplicativo Next.js e SSR

Guia arquitetônico passo a passo para integrar Aurabase em um aplicativo Next.js 14/15 App Router com componentes de servidor, ações de servidor, middleware e sessões seguras.

10 min lido·Nível intermediário·Revisado em 19 de ago. de 2026
Este texto em inglês foi gerado automaticamente a partir do original em francês e ainda não foi revisado.
Esta página foi traduzida automaticamente. A versão em inglês é oficial.
#
Arquitetura

O modelo SSR Aurabase

Em aplicativos modernos renderizados no lado do servidor, o estado de autenticação do usuário não pode ser armazenado no localStorage do navegador (inacessível pelo servidor). Aurabase sincroniza automaticamente a sessão em cookies HTTP seguros.

Isolamento total da consulta

createServerClient não tem estado compartilhado na memória. Cada solicitação do servidor instancia um cliente isolado conectado aos cabeçalhos HTTP da solicitação, garantindo estanqueidade absoluta entre os usuários (risco zero de vazamentos de sessão).

#
Implementação

Os 3 pilares do 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
}
#
Biscoitos

Gerenciamento automático de Multi-Chunking

Os navegadores da Web limitam o tamanho de um cookie a aproximadamente 4 KB. Quando um token JWT ou metadados de usuário excede esse limite, o módulo @aurabase/aurabase-js/ssr divide automaticamente a carga em vários cookies numerados:

  • aura-[project_id]-auth.0 (primeiros 3600 bytes)
  • aura-[project_id]-auth.1 (resto da sessão)

Após a leitura, o servidor remonta fielmente os pedaços para restaurar o estado sem qualquer perda de dados ou interrupção da sessão.

#
Segurança

Regras de ouro na produção

Atributos HttpOnly e SameSite

Os cookies de token de atualização nunca devem ser expostos ao JavaScript do cliente para evitar ataques XSS.

Serviço de chave de função estritamente servidor

NUNCA passe seu SERVICE_ROLE_KEY para createBrowserClient ou componentes com a diretiva "use client".

Atualizar no Middleware

Sempre chame getSession() ou getUser() no middleware para renovar os tokens antes que eles expirem.

Última atualização · 19 de ago. de 2026