Create Next.js Middleware for Authentication and Redirects

Use this AI prompt to generate a middleware file for Next.js App Router that checks authentication tokens, handles redirects, and protects routes efficiently.

🧠 What This Prompt Does

This AI prompt generates a Next.js middleware for handling authentication, redirect logic, and route protection.
It’s ideal for apps that need lightweight security before hitting server routes or rendering protected pages.


💬 The Prompt

You are a Next.js developer.
Generate a middleware.ts file that:

- Checks authentication status via cookies or headers
- Redirects unauthenticated users to /login
- Allows access to public routes like /, /about, /contact
- Works with Next.js App Router

🚀 Example Output (AI Generated)

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

const PUBLIC_ROUTES = ['/', '/login', '/about'];

export function middleware(req: NextRequest) {
  const token = req.cookies.get('token')?.value;

  if (!token && !PUBLIC_ROUTES.includes(req.nextUrl.pathname)) {
    const loginUrl = new URL('/login', req.url);
    return NextResponse.redirect(loginUrl);
  }

  return NextResponse.next();
}

export const config = {
  matcher: ['/((?!_next|api|static|favicon.ico).*)'],
};

📘 When to Use This Prompt

  • To restrict access to protected routes in Next.js.
  • When adding lightweight authentication middleware.
  • To enforce route-based access control without server bloat.

💡 Best Practices

  • Keep public routes explicitly listed for clarity.
  • Use JWT or cookies for session management.
  • Avoid heavy logic inside middleware (it runs on every request).
  • Cache static assets to reduce performance impact.

🏁 Summary

This prompt helps you create a secure, efficient middleware for authentication and redirects in Next.js.
It ensures only authorized users access protected content while keeping routing clean and fast.

nextjsmiddlewareauthredirectsai-prompt

Advertisement