Luminaria / frontend /app /api /logout /route.ts
senlinyy's picture
feat: add login
6230227
Raw
History Blame Contribute Delete
750 Bytes
import { type NextRequest, NextResponse } from "next/server";
import { clearAppSessionCookie } from "@/lib/app-auth";
export const dynamic = "force-dynamic";
export const runtime = "nodejs";
function isHttps(request: NextRequest) {
const forwardedProto = request.headers.get("x-forwarded-proto")?.split(",")[0]?.trim();
return request.nextUrl.protocol === "https:" || forwardedProto === "https";
}
export async function POST(request: NextRequest) {
const acceptsHtml = request.headers.get("accept")?.includes("text/html");
const response = acceptsHtml
? NextResponse.redirect(new URL("/login", request.url), 303)
: NextResponse.json({ ok: true });
clearAppSessionCookie(response.headers, isHttps(request));
return response;
}