개발자

카카오 로그인 accessToken 어디에 저장해야 할까요??

2023년 08월 13일조회 722

[상황] 현재 하고 있는 동아리 프로젝트에서 카카오 로그인을 구현하기로 했습니다. 저는 프론트엔드 파트이고, 프로젝트는 react, recoil 쓰고 있습니다. +) 팀원이 react-query 써서 백엔드와 통신을 하자고 합니다. [질문] 카카오 로그인에서 인가코드를 백엔드에 보내면, 백엔드에서 accessToken과 refreshToken을 넘겨주는데 이걸 어디에 저장해야 할까요?? 둘다 http response로 헤더에 실어서 보내준다고 합니다! 백엔드에서 쿠키에 넣어주지는 않고 토큰을 보내준다는데, 이걸 어떻게 관리해야 할까요?? localStorage에 저장하는건 매우 위험하다는 글을 봐서, 어떤식으로 관리해야 할지 모르겠습니다. 스토리지에 저장 안 하면, 보통 recoil로 atom에 저장해두고 쓰나요..? 로그인 구현이 처음이라 막막한데 도와주세요ㅠㅠ

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 1

쇠오리님의 프로필 사진

atom에 accessToken과 refreshToken을 저장한다면 탭을 새로고침하게 되면 상태가 초기화 되기 때문에 탭을 닫거나 새로고침할때 사용자가 다시 로그인을 해야할거 같습니다. 제가 알기로는 토큰은 http 쿠키에 저장하는 것으로 알고 있습니다만... 저도 세션만 이용해 봐서 잘모르겠네요

이진경님의 프로필 사진

이진경

작성자

이화여자대학교 컴퓨터공학전공2023년 08월 13일

세션을 이용해도 로컬 스토리지처럼 js를 통해 토큰 빼내는게 가능하지 않나요?

쇠오리님의 프로필 사진

쇠오리

프론트엔드 지망생2023년 08월 13일

세션은 서버에서 저장하는거고 jwt를 이용하면 토큰 내용을 서버에서 관리하지 않는걸로 알고 있습니다! 물론 세션을 이용해도 토큰을 저장하고 인증하는 로직을 작성할 수 있습니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!