인프런 커뮤니티 질문&답변

gusehd520님의 프로필 이미지

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

SSR시 쿠키 공유하기

쿠키관련해서 질문드립니다.

작성

·

250

0

로그인기능을 쿠키를 통해서 하고있는데

혹시 세션스토리지를 이용해서 하면 문제가 있을까요?

로그인을 하면 세션스토리지에 토큰같은 정보를 저장하고

새로고침해서 정보를 다시 받아올때 POST로 쿠키값을 보내고

로그아웃시 토큰을 지워주는 형식으로하면 따로 문제되는 게있을까요??

답변 5

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

쿠키는 세션쿠키(유효기간 미설정)로 설정해두면 브라우저 종료시 알아서 지워집니다. 그 외에는 유효기간을 따릅니다.

토큰을 헤더에 넣는 경우는 받을 때도 헤더에 넣어서 받으시면 됩니다!

0

gusehd520님의 프로필 이미지
gusehd520
질문자

답변 정말 감사합니다. 마지막으로 하나만 더 물어도 될까요?

만약 getServerSideProps안에서 header  Autorization에 토큰정보를 넣어서 요청을 보내야한다면

토큰을 받을때 쿠키에 저장했다가 getServerSideProps안에서 쿠키에 토큰정보를 다시 

axios.defaults.headers.common['Authorization'] 안에다 넣어서 보내주는 방법 밖에는 떠오르지 않는데

이렇게하면 쿠키에서 토큰정보 빼오고하는게 좀복잡해보여서...

다른 방법이 있을까요?

또 궁금한거는 혹시 쿠키 만료기간말고도 사용자가 브라우저를 종료하거나 할때 쿠키정보를 지울수있는 수단이있나요??

항상 너무 잘보고있습니다.

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 getServerSideProps는 서버쪽에서 수행되는 것이라 window가 없습니다. 쿠키를 쓰거나 요청 header에 토큰을 넣으시면 됩니다.

0

gusehd520님의 프로필 이미지
gusehd520
질문자

답변감사합니다. 알아봤는데

getServerSideProps안에서 window에 접근할 방법이 없어서

쿠키를 사용해야 할것같네요...

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

Post로 토큰값을 보내시는거죠? xss공격 대비만 하시면 문제없습니다.