Middleware

미들웨어 선처리

요청이 실제 Route Handler에 닿기 전에 공통 조건을 검사하면 반복 코드를 줄이고 보호 범위를 넓힐 수 있습니다.

전역 관문

middleware.ts 실행 위치

프로젝트 루트에서 요청 전 공통 로직을 실행해 페이지와 API에 들어가기 전 조건을 정리합니다.

적용 범위

matcher 보호 대상 선택

/api/private, /admin처럼 인증이 필요한 경로만 골라 정적 자산과 공개 페이지 비용을 줄입니다.

세션 신호

인증 토큰 존재 판정

세션이나 JWT의 존재와 만료 여부를 확인해 다음 단계로 보낼지 로그인으로 돌릴지 결정합니다.

최종 처리

Route Handler 재검증

미들웨어를 통과한 요청도 실제 데이터 변경 전 소유권과 권한을 다시 확인합니다.

matcher

matcher가 적용 범위를 좁힙니다

모든 요청에 미들웨어를 걸기보다 API와 보호 경로만 골라 성능과 의도를 함께 맞춥니다.

미들웨어 연결

matcher/api/private, /admin처럼 공통 정책이 필요한 경로를 명시해 과도한 실행을 막습니다.
인증 토큰없거나 만료된 토큰은 로그인으로 보내고, 유효한 토큰만 다음 처리로 넘깁니다.
Route Handler데이터 변경 전에는 미들웨어 결과를 믿기보다 대상 id와 사용자 권한을 다시 대조합니다.