작성
·
71
0
안녕하세요 프로젝트 진행 중에 해결되지 않는 부분이 있어 질문 드립니다.
middleware에서 쿠키의 값을 업데이트 하려고 하는데 업데이트 되지 않는 현상이 발생하고 있습니다.
아래의 코드와 같이 NextResponse.next() 실행 후에 response에 쿠키를 업데이트를 하려 하는데 반영이 되지 않습니다. request에서 세팅해도 마찬가지입니다. 쿠키 세팅이 되지 않는 원인에 대해 알고 계신가요??
export default async function middleware(request: NextAuthRequest) {
if (request.nextUrl.pathname.startsWith("/gateway")) {
const token = await getToken({
req: request,
secret: process.env.AUTH_SECRET as string,
secureCookie: process.env.NODE_ENV === "production",
});
const accessToken = token?.accessToken;
const { device } = userAgent(request);
request.headers.set("Accept", "*/*");
request.headers.set("Authorization", `Bearer ${accessToken}`);
request.headers.set("Access-Control-Allow-Origin", "*");
request.headers.set("deviceType", "1");
request.headers.set("User-Agent", device.model ?? "");
request.headers.set("locale", localeFromCookie);
request.headers.set("language", defaultLocale);
const response = NextResponse.next({
request: request.headers
});
response.cookies.set("test", "test");
return response;
}
...
}
답변 1
0
request랑 response 둘다 시도해봤는데 안되더라구요! next.config.js에서 해당 gateway로 시작되는 주소가 다른 서버로 rewrite되면서 유실되는 것 같습니다
쿠키가 세팅되지 않는 상황입니다!