쿠키와 세션 부수기

개발자 취준생 밍키·2023년 3월 14일
0

개인공부🤓

목록 보기
19/28



jwt를 사용한 이유 !!!!

세션의 문제점
: 세션을 보관하는 부분에서 문제 발생. 로드밸런싱 등을 했을 때 AP 서버의 내부 메모리에 저장할 경우, 그 서버 이외의 서버에서 특정 정보를 알 수 없어 세션 저장을 위한 별도 서버를 두고 같은 세션 스토리지 서버를 바라보게 해야함. 이용자 수가 많은 서비스인 경우 많은 양의 세션을 저장해야 함

jwt의 문제점
: 클라이언트에서 저장할 곳이 마땅하지 않음. 쿠키에 저장하자니 httpOnly, Secure 쿠키 옵션을 걸어줘야하는데, 여러 API 서버에서 동일한 토큰을 검증할 수 있다고해도 서브도메인이 아닌 이상 서드파티쿠키가 되고, 사용자에게 쿠키 저장 동의를 구해야 함. 반대로 헤더의 Authorization에 담아보내자니 클라이언트 측 js에서 저장되고 있어야하고, 때문에 보안에 취약해짐. 그래도 일단 세션 저장을 위한 별도 서버를 두는 것 자체가 상당히 손이 많이 가는 일이고, 토큰 만료기한을 짧게 가져가면 해결 가능한 부분이라고 봄. 물론 jwt도 마이크로서비스가 많아지면 결국 인증을 위한 서버가 따로 필요하게 되지만, 세션을 저장하는 것보다는 복잡도가 떨어진다고 봤음.

profile
개발자가 되고싶어요

0개의 댓글