[Spring Security] Refresh Token은 어디에 저장하는 게 좋을까?
·
카테고리 없음
지난 글에서 Access Token은 짧게, Refresh Token은 길게 가져가는 이유를 정리했다. 티켓 예매 프로젝트(Ticket Run)의 재발급 API를 만들면서 바로 다음 고민이 생겼다.Refresh Token은 수명이 긴 만큼, 한 번 탈취되면 피해도 길다. 그래서 "브라우저의 어디에 두느냐"가 Access Token보다 훨씬 중요해진다.처음에는 localStorage, 쿠키, 메모리 중 하나를 고르는 문제처럼 보인다. 하지만 핵심은 브라우저 저장 위치는 크로스 사이트 스크립팅(Cross-Site Scripting, XSS)과 사이트 간 요청 위조(Cross-Site Request Forgery, CSRF) 같은 탈취 경로를 줄이는 문제이고, 서버 저장은 탈취 이후를 통제하는 문제라는 점이다..