オーラベースのロゴ
オーラベースドキュメント
ドキュメント›ガイド›Next.js アプリルーターと SSR

Next.js アプリルーターと SSR ガイド

Aurabase をサーバーコンポーネント、サーバーアクション、ミドルウェア、安全なセッションを備えた Next.js 14/15 App Router アプリケーションに統合するためのステップバイステップのアーキテクチャガイド。

10 分 読み取り·レベル 中間·2026/08/19 に改訂
この英語のテキストはフランス語のオリジナルから自動的に生成されたもので、まだレビューされていません。
このページは自動翻訳されました。英語版が正式です。
#
建築

Aurabase SSRモデル

最新のサーバー側でレンダリングされるアプリケーションでは、ユーザーの認証状態をブラウザーの localStorage に保存できません (サーバーからアクセスできません)。 Aurabase は、セキュア HTTP Cookie でセッションを自動的に同期します。

完全なクエリ分離

createServerClient にはメモリ内に共有状態がありません。各サーバー要求は、要求の HTTP ヘッダーに接続された分離されたクライアントをインスタンス化し、ユーザー間の絶対的な緊密性を保証します (セッション リークのリスクがゼロ)。

#
実装

アプリルーターの 3 つの柱

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
}
#
クッキー

マルチチャンクの自動管理

Web ブラウザでは、Cookie のサイズが約 4 KB に制限されています。 JWT トークンまたはユーザー メタデータがこの制限を超えると、@aurabase/aurabase-js/ssr モジュールは自動的に負荷をいくつかの番号付き Cookie に分割します。

  • aura-[project_id]-auth.0 (最初の 3600 バイト)
  • aura-[project_id]-auth.1 (セッションの残り)

読み取り時に、サーバーはデータの損失やセッションの中断なしに状態を復元するために、チャンクを忠実に再構築します。

#
セキュリティ

制作における黄金律

HttpOnly および SameSite 属性

XSS 攻撃を防ぐために、リフレッシュ トークン Cookie をクライアント JavaScript に公開しないでください。

役割キーサービスは厳密にサーバーです

「use client」ディレクティブを使用して、決して SERVICE_ROLE_KEY を createBrowserClient またはコンポーネントに渡さないでください。

ミドルウェアで更新

有効期限が切れる前に、必ずミドルウェアで getSession() または getUser() を呼び出してトークンを更新します。