Files
hedieh-mezon/src/app/api/auth/logout/route.ts
T

27 lines
778 B
TypeScript

import { cookies } from "next/headers";
import { NextResponse } from "next/server";
import { ACCESS_COOKIE, REFRESH_COOKIE, sharedAuthCookieNames, WEBSITE_DOMAIN } from "@/lib/auth";
export async function POST(request: Request) {
const cookieStore = await cookies();
const names = new Set([
ACCESS_COOKIE,
REFRESH_COOKIE,
...sharedAuthCookieNames(cookieStore),
]);
const response = NextResponse.redirect(new URL("/", request.url), 303);
for (const name of names) {
response.cookies.set({ name, value: "", maxAge: 0, path: "/", sameSite: "lax" });
}
for (const name of names) {
response.headers.append(
"Set-Cookie",
`${name}=; Max-Age=0; Path=/; Domain=.${WEBSITE_DOMAIN}; SameSite=Lax; Secure`,
);
}
return response;
}