Frontend2026년 3월 7일2분 읽기

Next.js 미들웨어 고급 — 인증, 로케일, A/B 테스트

YS
YoungSam
조회 837

통합 미들웨어

import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";

export function middleware(request: NextRequest) {
  // 1. 인증 체크
  const token = request.cookies.get("session");
  if (request.nextUrl.pathname.startsWith("/dashboard") && !token) {
    return NextResponse.redirect(new URL("/login", request.url));
  }

  // 2. 로케일 감지
  const locale = request.headers.get("accept-language")?.split(",")[0] || "ko";

  // 3. A/B 테스트
  const variant = request.cookies.get("ab-variant")?.value
    || (Math.random() > 0.5 ? "A" : "B");
  const response = NextResponse.next();
  response.cookies.set("ab-variant", variant);
  return response;
}
Next.jsMiddlewareEdge

댓글 0

아직 댓글이 없습니다.