test7 / src /app /api /auth /logout /route.ts
simikkk's picture
Update src/app/api/auth/logout/route.ts
89ea2aa verified
Raw
History Blame Contribute Delete
1.02 kB
import { NextRequest, NextResponse } from 'next/server';
import { getCookieToken, deleteSession, SESSION_COOKIE_NAME } from '@/lib/auth';
export async function POST(request: NextRequest) {
try {
const token = getCookieToken(request);
if (token) {
await deleteSession(token);
}
// ── Determine if behind HTTPS proxy ───────────────────────────────
const forwardedProto = request.headers.get('x-forwarded-proto');
const isSecure = forwardedProto === 'https' || process.env.NODE_ENV === 'production';
const response = NextResponse.json({ success: true });
response.cookies.set(SESSION_COOKIE_NAME, '', {
httpOnly: true,
secure: isSecure,
sameSite: 'lax',
path: '/',
maxAge: 0,
});
return response;
} catch (error) {
console.error('[LOGOUT_ERROR]', error);
return NextResponse.json(
{ error: 'Internal server error' },
{ status: 500 }
);
}
}