• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

nuxtserverinit에서 httponly 보내기

21.11.05 16:28 작성 조회수 375

0

안녕하세요! nuxt.js로 실습중 궁금한것이 생겨 글을 쓰게 되었습니다.
 
nuxtserverinit에서 axios를 이용해 httponly cookie를 서버로 부터 받으려고 하니 응답 값은 받아지지만, cookie는 받아지지 않아 해결책이 있는지 궁금합니다. PostMan프로그램 사용하면 httponly cookie가 온전히 받아지지만, nuxt.js로 만든 클라이언트에선 받아지지 않더군요(created()에선 받아집니다.). axios도 credentials=true 해주었습니다. 짧은 지식으로 고민해봤을땐, express에서 cors함수로 credentials 를 허용하는것 처럼 ssr과정에서 처리해주어야 할꺼같은데 생각보다 원활하게 진행되지 않아 해결책이 있는지 궁금합니다.
 
제가 시도해본건 nuxt.config.js에 servermiddleware에 미들웨어를 추가해본 것인데 잘못 생각한건지 잘못 작성한것인지 cookie를 여전히 받아오지 못했습니다.
 
/server-middleware/cors.js
const cors = require("cors");
export default function (req, res, next) {
  cors({
    origin: true,
    credentials: true,
  });
  next();
}
 
 
/nuxt.config.js
serverMiddleware: ["~/server-middleware/cors"],
 

답변 1

답변을 작성해보세요.

0

nuxtServerInit에서 axios를 이용해 백엔드 서버로 요청을 보내신건가요?

그러면 프론트서버 -> 백엔드 서버로 요청이 간 것이고, 쿠키는 응답에 들어 있어 프론트서버에 있을 겁니다. 다시 프론트 서버에서 브라우저로 쿠키를 내려보내주는 과정이 필요합니다. cors는 관련 없습니다.

timssuh님의 프로필

timssuh

질문자

2021.11.05

혹시 httponly cookie를 프론트 서버에서 브라우저로 어떻게 내릴 수 있는지 알 수 있을까요..? 그리고 ssr 이후에 axios를 호출하면 httponly cookie를 자동으로 브라우저에 보내는데 nuxtServerInit에선 자동으로 보내지 않는지 궁금합니다..! 감사합니다!

ssr이후에는 브라우저->백엔드서버라서 바로 브라우저에 심어진것입니다.

https://nuxtjs.org/docs/internals-glossary/context/

nuxtserverinit 두번째 매개변수 객체 안에 res가 존재해 이걸로 쿠키 설정이 가능할 것 같습니다.

timssuh님의 프로필

timssuh

질문자

2021.11.09

답변 감사합니다!!  cookie는 nuxt-universal-cookies 모듈을 사용하여 해결하였습니다! 답변 덕분에 고민하던 문제를 드디어 풀었네요ㅠㅠ