![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.quebec/public_html/src/ |
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';
export function middleware(request: NextRequest) {
const response = NextResponse.next();
// Check if there's an invalid session cookie
const sessionToken = request.cookies.get('next-auth.session-token') ||
request.cookies.get('__Secure-next-auth.session-token');
// If session token exists but there was an auth error, clear it
if (sessionToken && request.nextUrl.searchParams.get('error') === 'SessionRequired') {
// Clear the cookie
response.cookies.delete('next-auth.session-token');
response.cookies.delete('__Secure-next-auth.session-token');
response.cookies.delete('next-auth.csrf-token');
response.cookies.delete('next-auth.callback-url');
console.log('🧹 Cleared invalid session cookie');
}
return response;
}
export const config = {
matcher: [
/*
* Match all request paths except for the ones starting with:
* - api (API routes)
* - _next/static (static files)
* - _next/image (image optimization files)
* - favicon.ico (favicon file)
* - public folder
*/
'/((?!api|_next/static|_next/image|favicon.ico|public).*)',
],
};