Fundamentos

1

Desarrollo Web Escalable con Next.js: Optimización y SEO Integrado

2

Novedades y Cambios Clave en Next.js 15

3

Migración de Next.js 11 a 15: Guía Paso a Paso

Haciendo tu proyecto más rápido

4

Creación de React Server Components con Next.js y PostgreSQL

5

Integración de React Server Components con PostgreSQL

Consumiendo datos de manera eficiente

6

Consumo de datos en servidores con ORM Drizzle y TypeScript

7

Consumo de APIs en Next.js con ReactQuery y useEffect

8

Optimización del Consumo de Datos en Aplicaciones Web

9

Implementación de Suspense y Streaming en React y Next.js

Escalabilidad y personalización

10

Internacionalización en NextJS: Middleware y Rutas Dinámicas

11

Internacionalización en Next.js con Traducciones Dinámicas

12

Autenticación de Usuarios con Middleware en Next.js

13

Administración de Cookies con Next.js y JavaScript para Autenticación

14

Integración de Feature Flags en Next.js con LaunchDarkly

15

Manejo de Errores en Next.js: Server Actions y Páginas de Error

16

Integración de Sentry para Monitoreo de Errores en Next.js

Características Adicionales y Herramientas

17

Gestión del Caché en Next.js: Novedades y Estrategias Avanzadas

18

Seguridad en Next.js: Server Actions y Componentes React

19

Seguridad de Cookies y Encriptación en Aplicaciones Next.js

20

Optimización de Rendimiento en Next.js: Técnicas y Herramientas

21

Despliegue de Aplicaciones Next.js con Vercel y Docker

22

Despliegue de Next.js en Fly.io usando Docker y configuración de Postgres

23

Despliegue de Aplicaciones Next.js con Flyo y Docker

24

Migración y Optimización de Páginas con Next.js

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Autenticación de Usuarios con Middleware en Next.js

12/24
Recursos

La autenticación es fundamental para proteger aplicaciones y garantizar que solo usuarios autorizados accedan al contenido. A través de Next.js y su middleware, podemos implementar un flujo de autenticación sencillo pero poderoso, utilizando cookies para verificar la sesión del usuario y tomar decisiones en tiempo real.

¿Cómo funciona la autenticación con middleware en Next.js?

  • Middleware como intermediario: Permite interceptar solicitudes y redirigir a los usuarios según su estado de autenticación.
  • Rutas protegidas: El middleware evalúa las cookies del usuario antes de permitir acceso a ciertas rutas.
  • Redirección automática: Si no hay una sesión válida, el usuario es enviado al login para autenticarse.

¿Qué papel juegan las cookies en este sistema?

  • Almacén de sesiones: Las cookies guardan información sobre el estado de autenticación del usuario.
  • Validación asíncrona: Next.js facilita el manejo de cookies mediante métodos asíncronos.
  • Claves estáticas: Se recomienda usar nombres definidos para cookies como constantes reutilizables.

¿Cómo configurar un middleware para autenticación?

  1. Crear el archivo middleware.ts: Este se encuentra en la raíz del proyecto.
  2. Interceptar rutas específicas: Verificar si el usuario intenta acceder a una página protegida.
    • Excluir la ruta de login del proceso de autenticación.
  3. Leer y validar cookies: Usar el método cookies().get(nombre) para obtener la cookie de sesión.
  4. Redirigir si es necesario:
    • Si la cookie no es válida, usar NextResponse.redirect('/login').
    • Preservar parámetros de búsqueda de la URL si son relevantes.

¿Qué hace la función isSessionValid?

  • Comprobación básica: Recibe el valor de la cookie y verifica su existencia.
  • Booleano como respuesta: Si la cookie tiene valor, devuelve true; de lo contrario, false.

¿Qué sucede después de validar una sesión?

  • Acceso permitido: Si la sesión es válida, el usuario continúa a su destino.
  • Redirección a login: En caso contrario, el middleware lo envía al formulario de inicio de sesión.

¿Qué veremos en el futuro sobre autenticación en Next.js?

  • Creación de cookies: Implementar la generación y escritura de cookies desde el servidor.
  • Server Actions: Ampliar la funcionalidad de autenticación utilizando acciones específicas del servidor.
  • Gestión completa de sesiones: Manejo integral de inicio, mantenimiento y cierre de sesión del usuario.

Aportes 1

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Creo que el codigo de la linea 23 del middleware.ts esta mal, en lugar de usar la constante esta usando un string. El código correcto seria `allCookies.get(SESSION_COOKIE_NAME)?.value`