미들웨어는 요청이 서버로 도달하기 전에 특정 작업을 수행할 수 있는 기능을 제공하는 코드이다.
Next.js에서 미들웨어는 주로 인증, 권한 확인, 로깅 또는 리다이렉션 같은 작업을 처리하는 데 사용된다.
// middleware.ts
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'
export function middleware(req: NextRequest) {
const token = req.cookies.get('token') // 토큰 또는 세션 쿠키 확인
if (!token) {
return NextResponse.redirect(new URL('/login', req.url)) // 인증되지 않은 사용자를 로그인 페이지로 리다이렉트
}
return NextResponse.next() // 인증된 사용자일 경우 다음으로 진행
}