El error que todos cometen con Next.js 16 y cómo solucionarlo
Revisa y refactoriza la configuración de autenticación en Next.js 16 para evitar errores comunes.
Configurar la autenticación en Next.js 16 puede ser complicado si no ajustas adecuadamente la sesión o el proveedor de autenticación.
El truco
Código ANTES (mal)
// pages/api/auth/[...nextauth].js
import NextAuth from 'next-auth';
import Providers from 'next-auth/providers';
export default NextAuth({
providers: [
Providers.GitHub({
clientId: process.env.GITHUB_CLIENT_ID,
clientSecret: process.env.GITHUB_CLIENT_SECRET,
}),
],
session: {
jwt: true,
},
});
Código DESPUÉS (bien)
// pages/api/auth/[...nextauth].js
import NextAuth from 'next-auth';
import GitHubProvider from 'next-auth/providers/github';
export default NextAuth({
providers: [
GitHubProvider({
clientId: process.env.GITHUB_CLIENT_ID,
clientSecret: process.env.GITHUB_CLIENT_SECRET,
}),
],
session: {
strategy: 'jwt', // Asegúrate de usar el campo 'strategy'
},
});
El problema común aquí es no especificar correctamente la estrategia de sesión. En Next.js 16, el campo session ha sido actualizado y ahora requiere que especifiques strategy: 'jwt' para usar JWTs, en lugar de simplemente jwt: true. Esto evita errores inesperados en la autenticación.
Refactoriza tu configuración asegurándote de que los proveedores y la estrategia de autenticación estén correctamente definidos para evitar problemas molestos.