mission-control/app/api/auth/logout/route.ts

29 lines
758 B
TypeScript

import { NextResponse } from "next/server";
import { getSessionTokenFromCookies, revokeSession } from "@/lib/server/auth";
export const runtime = "nodejs";
const SESSION_COOKIE_NAME = "mission_control_session";
export async function POST() {
try {
const token = await getSessionTokenFromCookies();
if (token) {
await revokeSession(token);
}
// Clear cookie
const response = NextResponse.json({ success: true });
response.cookies.set(SESSION_COOKIE_NAME, "", {
httpOnly: true,
sameSite: "lax",
secure: process.env.NODE_ENV === "production",
path: "/",
maxAge: 0,
});
return response;
} catch {
return NextResponse.json({ error: "Logout failed" }, { status: 500 });
}
}