Skip to content

Middleware — Authentication, Redirects, Edge Logic

Use Next.js middleware for authentication checks, redirects, A/B testing, and request transformation at the edge.

13 min readnextjs, middleware, authentication, edge, web-dev

Middleware runs before every request reaches your pages or API routes. It sits between the user's browser and your application code, intercepting requests at the edge — the server closest to the user.

This position makes middleware ideal for decisions that need to happen fast and early: is this user authenticated? Should they be redirected? What version of the page should they see?

The Basics

Middleware is defined in a single file at the root of your project:

// middleware.ts (in the project root, next to app/)
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
 
export function middleware(request: NextRequest) {
  // Runs before every matched request
  console.log("Request to:", request.nextUrl.pathname);
  return NextResponse.next();

This lesson is part of the Guild Member curriculum. Plans start at $29/mo.