diff --git a/middleware.ts b/middleware.ts index fba27c4e..e268f55e 100644 --- a/middleware.ts +++ b/middleware.ts @@ -348,7 +348,15 @@ async function handleLoginRedirect( request: NextRequest, next: () => Promise ): Promise { + const isProduction = process.env.NODE_ENV === 'production'; + if (request.nextUrl.pathname === PROTECTED_ROUTES.LOGIN) { + if (isProduction) { + console.log('Login redirect handler called:', { + path: request.nextUrl.pathname, + timestamp: new Date().toISOString(), + }); + } return await handleAuthenticatedRedirectMiddleware(request, NextResponse.next()); } diff --git a/middlewares/auth/auth.ts b/middlewares/auth/auth.ts index e1221690..efe26a49 100644 --- a/middlewares/auth/auth.ts +++ b/middlewares/auth/auth.ts @@ -181,11 +181,24 @@ export async function handleAuthenticationMiddleware(request: NextRequest, respo } export async function handleAuthenticatedRedirectMiddleware(request: NextRequest, response: NextResponse) { + const isProduction = process.env.NODE_ENV === 'production'; + + if (isProduction) { + console.log('Authenticated redirect middleware called:', { + path: request.nextUrl.pathname, + timestamp: new Date().toISOString(), + }); + } + // Siempre forzar refresh para verificar la sesión actual, especialmente importante // cuando el usuario navega manualmente a /login const session = await getSession(request, response, true); if (session && typeof session === 'object' && 'tokens' in session && session.tokens) { + if (isProduction) { + console.log('User has valid session, redirecting...'); + } + // Verificar que la sesión tiene tokens válidos antes de redirigir const lastStoreId = getLastVisitedStore(request); @@ -196,6 +209,10 @@ export async function handleAuthenticatedRedirectMiddleware(request: NextRequest } } + if (isProduction) { + console.log('No valid session found, allowing login page'); + } + // Si no hay sesión válida, limpiar caché y permitir continuar (mostrar login) clearUserSessionCache(request); return response;