인프런 커뮤니티 질문&답변

창신동 장첸님의 프로필 이미지
창신동 장첸

작성한 질문수

스프링 시큐리티

Authentication과 SecurityContextHodler

무상태성

작성

·

267

0

안녕하세요. 백기선선생님 

강의내용을 아래와 같이 정리했습니다.

- Authentication 인증객체는 SecurityContext에 저장됨.

- HttpSession에 SecurityContext가 캐싱됨.

 

질문

쿠키-세션방식에서는 모든 사용자의 인증정보를 서버측 세션에 보관했지만 이를 개선한 방식이 jwt토큰방식으로 알고 있습니다.

그런데 jwt토큰으로 인증을 마치고 나면 인증정보가 SecurityContext에 저장되고 이 SecurityContext도 세션에 캐싱되니 결론적으로 jwt방식도 로그인한 모든 사용자의 인증정보를 서버에 저장하게 되는 꼴이 아닌가 생각됩니다.

위 내용중에 잘못된 부분이 있으면 조언부탁드립니다.

감사합니다! 

답변 2

1

백기선님의 프로필 이미지
백기선
지식공유자

네 JWT는 토큰 스팩일 뿐 해당 토큰을 클라이언트 (브라우저나 앱)이 가지고 있다가 서버로 요청 보낼 때 같이 보내오면 서버는 해당 토큰이 유효한지만 확인하기 때문에 stateless 방식의 인증을 구현할 때 자주 쓰입니다.

답변감사합니다!

0

https://okky.kr/article/663919 

위 글을 보고 SecurityContext의 생명주기가 HttpRequest에 의존적이라 Authentication인증객체를 서버가 계속 보관하지 않고 요청 1회성으로만 인증객체를 Controller에서 이용하고 소멸되는 것으로 이해할 수 있었습니다. 따라서 jwt방식은 '무상태'라고 할 수 있을것 같습니다.

 
창신동 장첸님의 프로필 이미지
창신동 장첸

작성한 질문수

질문하기