nextjs.org/docs/app/guides/authentication.md
Secure Route Handler with Authentication and Role Check
Implementa una verificacion de seguridad de dos capas en un Route Handler de Next.js para verificar autenticacion del usuario y permisos de rol antes de permitir acceso.
TypeScript
import { verifySession } from '@/app/lib/dal'
export async function GET() {
// Verificacion de autenticacion y rol
const session = await verifySession()
if (!session) {
// Usuario no autenticado
return new Response(null, { status: 401 })
}
if (session.user.role !== 'admin') {
// Autenticado pero sin permisos suficientes
return new Response(null, { status: 403 })
}
// Acceso autorizado — continua con la logica
}
tambien disponible
nextjs.org/docs/pages/guides/authentication.md
Secure Next.js API Route with Authentication and Authorization
Verificacion de sesion activa y rol admin en Pages Router API Routes — util para migrar de Pages a App Router.
TypeScript
import { NextApiRequest, NextApiResponse } from 'next'
export default async function handler(
req: NextApiRequest,
res: NextApiResponse
) {
const session = await getSession(req)
if (!session) {
res.status(401).json({ error: 'User is not authenticated' })
return
}
if (session.user.role !== 'admin') {
res.status(403).json({ error: 'Unauthorized: admin role required' })
return
}
// Logica de la ruta para usuarios autorizados...
}