Auth session missing — getSession() returns null
Supabase can’t find the user’s session.
Fix 1: Check your Supabase client setup
// ❌ Creating a new client on every request
const supabase = createClient(url, key);
// ✅ Use createServerClient for SSR
import { createServerClient } from '@supabase/ssr';
const supabase = createServerClient(url, key, { cookies });
Fix 2: Check cookie configuration
// Next.js middleware
const supabase = createServerClient(url, key, {
cookies: {
get: (name) => request.cookies.get(name)?.value,
set: (name, value, options) => response.cookies.set({ name, value, ...options }),
remove: (name, options) => response.cookies.set({ name, value: '', ...options }),
},
});
Fix 3: Refresh the session
const { data: { session } } = await supabase.auth.getSession();
if (!session) {
const { data } = await supabase.auth.refreshSession();
}