JWT 브라우저 서버간 전송에 대한 질문입니다.

조회수 741회

사용환경은 node.js, react입니다.

서버에서 가장 깔끔한 방법이 쿠키에 토큰을 넣어서 보내는거더군요. 근데 httpOnlytrue로 하고 쿠키를 서버에서 브라우저로 보내면 브라우저에서 쿠키에 접근을 못하는데 이건 어떻게 해결할 수가 있나요?

httpOnlyfalse로 하면 CORS문제가 발생할 수 있다고 하더군요.

그래서 혼자서는 해결못하겠어서 응답헤더에 넣어 보냈는데 영 내키지가 않는 방법이더라구요. 혹시 해결방법을 알고 계시는 분이 계신다면 답변 부탁드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 브라우저에서 JWT 쿠키에 접근할 수 있어야 되는 건가요?

    HttpOnly쿠키는 (...) 서버에게 전송되기만 합니다. 예를 들어, (...) 세션의 쿠키는 JavaScript를 사용할 필요성이 없기 때문에 HttpOnly플래그가 설정될 것이다.출처: MDN

    JWT은 인증을 위한 것이고 인증은 HTTP 통신간에만 필요합니다. 따라서 브라우저에서 그 토큰 자체를 꺼내볼 이유는 없지 싶은데요. 구체적인 시나리오가 뭔가요? 꼭 필요한 전송값(예: 사용자의 닉네임 등)이 필요한 거라면 별도의 쿠키나 응답본문으로 내리는 게 나을 것 같습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)