SPA로 로그인 붙이는 중인데 서버에서 받은 JWT 토큰을 어디에 보관해야 할지 고민이에요. 지금은 그냥 localStorage에 넣고 요청마다 헤더에 실어 보내고 있거든요.


localStorage.setItem("token", accessToken);


구현은 편한데 검색하다 보니 localStorage는 XSS에 취약해서 위험하다는 말이 많더라고요. 그럼 대신 쿠키에 넣으라는데, 쿠키는 또 CSRF가 문제라 하고... 결국 둘 다 문제라는 소리 같아서 뭘 선택해야 할지 감이 안 잡힙니다.


보안 신경 쓰는 실제 서비스들은 토큰을 어떤 식으로 저장하고 관리하는지 궁금해요. 정석적인 패턴이 있으면 알려주세요.