지금까지 프로젝트에서는 헤더에 JWT를 담아 보냈었다.
근데 부트캠프 최종 프로젝트의 옆 팀의 분께서 쿠키에도 보내는 방식이 있다는 걸 알려준 후로 머릿속에 두긴 했는데, 이번에는 쿠키에 넣어서 프로젝트를 진행해보기로 했다.
JWT는 어디에 저장해야할까? - localStorage vs cookie
이번에 지하철 미션을 만들면서 JWT를 클래스 property에 저장했었는데 리뷰어 분께 해당 부분을 피드백 받으면서 어디에 JWT를 저장하는 것이 좋을까 에 대해 고민해보게 되었다. 0. 기본 지식 JWT Js
velog.io
이 글을 참고했는데 아주 잘 작성을 해두셨다.
로컬스토리지에 저장
장점
- CSRF 공격에는 안전함
단점
- XSS 에는 취약함
쿠키에 저장
장점
- XSS 공격으로부터 로컬스토리지에 비해 안전하다
단점
- CSRF 공격에 취약함
위 글에서는 로컬스토리지가 베스트 옵션이라고 했지만, 많은 글에서 access token 은 헤더로 보내서 localStorage에 저장하고, refresh token 은 쿠키로 보내서 자동으로 주고 받는다.
[React/Node.js] 쿠키를 이용해 refresh-token 구현
프로젝트를 진행하면서 JWT (Json Web Token) 방식으로 로그인을 구현하기로 하였다. (JWT에 대한 설명은 생략, 이 글을 읽는 사람들은 에러를 해결하기 위해 온거겟지?)백엔드에서 access-token은 header의
velog.io
아마
1. 두 토큰을 다른 저장소에 두어 분리시킴
2. 쿠키의 httpOnly 옵션으로 JS를 이용하여 토큰을 가져오지 못하게 함
때문인 것 같다.
'TIL' 카테고리의 다른 글
24년 6월 22일(토요일) - 85번째 TIL : 요청 DTO 검증 시 정규표현식으로 하기 (0) | 2024.06.23 |
---|---|
24년 6월 20일(목요일) - 84번째 TIL : JPA 에서 SoftDelete 처리 (0) | 2024.06.20 |
24년 6월 17일(월요일) - 82번째 TIL : JJWT 0.11.5 -> 0.12.5 변경점 (0) | 2024.06.17 |
24년 6월 16일(일요일) - 81번째 TIL : Failed to Connect to MySQL at 127.0.0.1 with user root (0) | 2024.06.16 |
24년 4월 9일(화요일) 80번째 TIL : JUnit 조건에 따른 테스트 (0) | 2024.04.09 |