File size: 711 Bytes
35420f5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 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);
}
const response = NextResponse.json({ success: true });
response.cookies.set(SESSION_COOKIE_NAME, '', {
httpOnly: true,
secure: true,
sameSite: 'lax',
path: '/',
maxAge: 0,
});
return response;
} catch (error) {
console.error('[LOGOUT_ERROR]', error);
return NextResponse.json(
{ error: 'Internal server error' },
{ status: 500 }
);
}
} |