JWT는 어디에 저장해야할까? - localStorage vs cookie 정보
JWT는 어디에 저장해야할까? - localStorage vs cookie관련링크
본문
js variable은 웹페이지를 새로고침하면
사라지는 휘발성이다.
JWT를 private variable에 저장하는 것은 안되진 않지만
사용자 입장에서 화면을 새로고침할 때마다 새로 로그인을 해야한다면 어떨까?
? 결론
1. best option
가장 좋은 방법으로는
refresh token
을 사용하는 방법이 있다.
백엔드 api 개발자와 소통이 가능하다면
refresh token을 httpOnly 쿠키로 설정하고
url이 새로고침 될 때마다 refresh token을 request에 담아
새로운 accessToken을 발급 받는다.
발급 받은 accessToken은 js private variable에 저장한다.
***
베스트 옵션이라고 해도, 어차피 쿠키에 저장된 refresh token을 탈취하며 같은 것 아닌가요? (secure 옵션을 키면 탈취 불가능?)
추천
2
2
댓글 7개
http only 라는 옵션도 있는 것 같습니다.
이런 글도... 있네요. 아직 저는 JWT까지 이르지 못한 것 같아요... ㅜㅜ;
엑세스토큰는 아니고, 리프레쉬만 거기(secure, only)에 담자... 뭐 그런 이야기가 읽다보면 나오는 것같아요.
https://velog.io/@yaytomato/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%90%EC%84%9C-%EC%95%88%EC%A0%84%ED%95%98%EA%B2%8C-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%B2%98%EB%A6%AC%ED%95%98%EA%B8%B0
엑세스토큰는 아니고, 리프레쉬만 거기(secure, only)에 담자... 뭐 그런 이야기가 읽다보면 나오는 것같아요.
https://velog.io/@yaytomato/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%90%EC%84%9C-%EC%95%88%EC%A0%84%ED%95%98%EA%B2%8C-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%B2%98%EB%A6%AC%ED%95%98%EA%B8%B0
@xpem 종합해 보면, Refresh Token은 쿠키에 저장하고 Secure, Http only 옵션을 켜서 사용하고,
Access Token은 Payload로 보내는 것이죠. Bearer 토큰같은 방법으로..
여기서 Access token으 저장 방식은 JS Private 변수로.. (보내주신 글에서는 그냥 로컬에 저장)
Access Token은 Payload로 보내는 것이죠. Bearer 토큰같은 방법으로..
여기서 Access token으 저장 방식은 JS Private 변수로.. (보내주신 글에서는 그냥 로컬에 저장)
@마젠토 그런 것 같습니다. 제겐 너무 머나먼 길이예요. 이제 뷰 약간씩 보고 있어용... ㅜㅜ;a
저도 jwt 토큰을 해봤는데... 확실히 passport 보다 편하기는 한데
이해하는데 오래걸리더라구요 ㅋ
이해하는데 오래걸리더라구요 ㅋ
@나이스김 passport도 토큰을 사용하는 라이브러리 아닌가요?
앱도 생각하면 쿠키가 낫겠어요