Access Token과 Refresh Token을 어디에 저장해야 할까요?
2178
작성한 질문수 3
현재 프로젝트를 진행중인데, Access Token과 Refresh Token을 헤더에 담아 로컬스토리지에 저장하는 방법을 사용중입니다. 그런데 로컬 스토리지는 보안에 취약하다는 글을 보았습니다. 로컬 스토리지에 담아도 jwt 정책으로 대응이 가능하다는 글도 있었습니다. Access Token과 Refresh Token을 어디에 저장해야 할까요? 만약 로컬 스토리지나 쿠키에 저장한다면 어떻게 관리해야하나요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
유하정님, Access Token과 Refresh Token을 저장하는 방법에 대해 질문 주셨군요. 일반적으로 Access Token과 Refresh Token은 클라이언트 측에서 안전하게 관리되어야 합니다. 로컬 스토리지에 저장하는 방법은 편리하지만, XSS(Cross-Site Scripting) 공격에 취약할 수 있습니다. 따라서, 보안을 더 강화하고 싶다면 아래의 몇 가지 방법을 고려할 수 있습니다:
HttpOnly 쿠키 사용: 토큰을 HttpOnly 쿠키에 저장하면 자바스크립트를 통한 접근이 불가능해집니다. 이 방식은 XSS 공격으로부터 토큰을 보호할 수 있으나, CSRF(Cross-Site Request Forgery) 공격에 대해서는 추가적인 보호 방법을 강구해야 합니다.
Secure 쿠키와 함께 사용: Secure 쿠키 플래그를 사용하면 쿠키가 HTTPS를 통해서만 전송되도록 할 수 있습니다. 이 방법은 데이터가 암호화되어 전송되기 때문에 Man-In-The-Middle 공격으로부터 보호할 수 있습니다.
Refresh Token 저장 위치: 일반적으로 Refresh Token은 보안 요구사항이 더 높은 토큰입니다. 이를 안전하게 관리하기 위해 서버 측에서만 관리하고, 클라이언트 측에는 Access Token만을 저장하도록 구성할 수 있습니다. 클라이언트는 Access Token이 만료될 때마다 서버에 새 Token을 요청함으로써, 보안성을 높일 수 있습니다.
어느 방법을 선택하든, 보안 정책과 접근 제어를 세심하게 고려해야 하며, 가능하다면 OAuth 2.0과 같은 표준 권장 사항을 따르는 것이 좋습니다. 또한, 토큰이 탈취되는 것을 방지하기 위해 해당 토큰에 단기간의 유효시간을 적용하는 것이 일반적인 전략 중 하나입니다.
위 내용은 직접적으로 제공된 정보에 기반한 내용이 아니며, 일반적인 보안 가이드라인을 제시한 것입니다. 프로젝트의 특성에 맞게 적절한 방법을 선택하고 구현하시기 바랍니다.
build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)
0
14
1
예외처리 3강 문의
0
17
1
챌린지 시작일 문의
0
24
0
26년2회 실기기출은 언제쯤...
0
38
2
진짜화면이랑달라서못해먹겟어요먹겟어요
0
50
1
네이버 API | '검색 - 책' API 제공 중단
0
36
2
ArticleReadService 관련 질문
0
26
1
kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.
1
62
1
이론 공부법 요약본 버전 업데이트 문의
0
35
2
domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다
1
45
1
해당 프로젝트를 똑같이 따라하려니 spring installer가 버전이 17부터 가능하네요.
0
23
1
Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.
0
44
2
장치 의존성과 CSR
0
35
1
테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.
0
29
1
[영한님]Spring Boot 및 프로젝트 생성
0
52
2
Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면
1
72
1
리뉴얼 시기
0
45
2
스크립트에 대해 질문 있습니다.
1
58
1
같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!
2
71
1
조건 검색 질문
0
40
1
JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문
0
54
3
강의 요청 문의
0
39
2
클로드코드 명령어-대화&세션관리 수업 자료
0
40
1
정처기 필기 준비할때 이 이론을 다시 외워도 될까요?
0
56
2





