Update route.ts

This commit is contained in:
pennyteenycat 2025-06-20 01:46:52 +02:00 committed by GitHub
parent 7938170360
commit 97c63b6d02
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,5 +1,34 @@
import { NextRequest, NextResponse } from "next/server";
//import { NextRequest, NextResponse } from "next/server";
//import { ROUTES } from "@/shared/constants/client-routes";
//export async function GET(req: NextRequest) {
// const { searchParams } = req.nextUrl;
// const token = searchParams.get("jwtToken");
// const productId = searchParams.get("productId");
// const placementId = searchParams.get("placementId");
// const paywallId = searchParams.get("paywallId");
// const redirectUrl = new URL(`${ROUTES.payment()}`, process.env.NEXT_PUBLIC_APP_URL || "");
// if (productId) redirectUrl.searchParams.set("productId", productId);
// if (placementId) redirectUrl.searchParams.set("placementId", placementId);
// if (paywallId) redirectUrl.searchParams.set("paywallId", paywallId);
// const res = NextResponse.redirect(redirectUrl);
// res.cookies.set({
// name: "accessToken",
// value: token || "",
// httpOnly: true,
// secure: true,
// sameSite: "lax",
// path: "/",
// maxAge: 60 * 60 * 24 * 365,
// });
// return res;
//}
import { NextRequest, NextResponse } from "next/server";
import { ROUTES } from "@/shared/constants/client-routes";
export async function GET(req: NextRequest) {
@ -14,16 +43,32 @@ export async function GET(req: NextRequest) {
if (placementId) redirectUrl.searchParams.set("placementId", placementId);
if (paywallId) redirectUrl.searchParams.set("paywallId", paywallId);
const res = NextResponse.redirect(redirectUrl);
// Ставим куку через заголовок Set-Cookie, тк в HTML-ответе NextResponse.cookies не работает
const cookie = [
`accessToken=${encodeURIComponent(token || "")}`,
`HttpOnly; Secure; Path=/; SameSite=Lax; Max-Age=${60 * 60 * 24 * 365}`,
].join("; ");
res.cookies.set({
name: "accessToken",
value: token || "",
httpOnly: true,
secure: true,
sameSite: "lax",
path: "/",
maxAge: 60 * 60 * 24 * 365,
const html = `
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0; url=${redirectUrl}" />
<script>
window.location.replace(${JSON.stringify(redirectUrl.toString())});
</script>
</head>
<body>
<p>Redirecting...</p>
</body>
</html>
`;
return new NextResponse(html, {
status: 200,
headers: {
"content-type": "text/html; charset=utf-8",
"set-cookie": cookie,
},
});
return res;
}