callbackUrl 외부 도메인 리다이렉트 차단, 환경별 세션 쿠키 이름 분리

This commit is contained in:
2026-07-05 00:49:50 +09:00
parent 080640aa50
commit b9db9ff3e7
+13 -1
View File
@@ -5,8 +5,20 @@ import { redirect } from "next/navigation";
import { signIn } from "@/auth";
function sanitizeCallbackUrl(raw: string): string {
try {
const parsed = new URL(raw, "http://x");
if (parsed.origin !== "http://x") return "/";
} catch {
return "/";
}
return raw.startsWith("/") ? raw : "/";
}
export async function loginAction(formData: FormData) {
const callbackUrl = String(formData.get("callbackUrl") ?? "/");
const callbackUrl = sanitizeCallbackUrl(
String(formData.get("callbackUrl") ?? "/")
);
try {
await signIn("credentials", {