개발자

springsecurity session & JWT 동시사용 질문

2024년 05월 22일조회 311

안녕하세요 session과 jwt의 동시사용에 대하여 질문을 드리려고 합니다. session은 서버의 자원을 점유한다는 점에서 jwt를 사용한다고 알고 있습니다. 하지만 보안이 중요시되는 사이트라면 jwt랑 sesison을 같이 사용해도 괜찮을까요? 아직 대학생이라 이것저것 해보고 싶은 마음에 session id를 jwt에 넣어 사용해보려고합니다. MVC와 WEBFLUX 두가지방법으로 구현해서 비교해보려고하는데 괜찮은 프로젝트가 될지 아니면 그냥 삽질일지 판단을 못하겠어서 질문 드립니다.

투표
35명 참여중
이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 2

김인후님의 프로필 사진

안녕하세요. 제가 아는 범위에서 답변을 드립니다! JWT, SESSION 모두 사용자의 인증이나 인가를 처리하기 위한 방법으로 장단점을 가지고 있기에 상황에 맞게 사용합니다. 말씀 주신 걸로 보아서 보안이 중요한 사이트를 구축하실 예정이신 거 같고, 이를 세션으로 사용할 예정이나 JWT에 SessionId를 담아서 관리하는 걸로 이해했습니다. 이렇게 해도 문제는 없다고 생각은 하지만, 저는 하나만 사용하는 게 낫지 않을까 싶습니다. 특히나 세션을 사용하기로 결정을 하셨다면 SessionId를 굳이 JWT에 넣는다는 건 사실은 암호화하여 관리하는 것과 큰 차이를 느끼지 못 하겠습니다! 오히려 프로젝트의 인증 절차가 복잡해질 수도 있고요. 만약에 학습을 목표로 하시는 거라면 2가지를 각각 Sample 코드로 구현하시면서 학습 후에 더 괜찮다고 생각하시는 걸 선택하는 게 어떠실까요??

승주님의 프로필 사진

JWT와 Session을 두가지 섞은 기법이 Refresh Token입니다. stateless한 jwt가 만료되면, session에서 새로운 jwt를 발급해 주는 것이지요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!