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

잘하고싶다님의 프로필 이미지
잘하고싶다

작성한 질문수

스프링부트 시큐리티 & JWT 강의

안녕하세요 강의 듣던중 JWT와 세션에 관해 의문이 들어 질문 남깁니다.

작성

·

244

0

안녕하세요 좋은 강의 잘듣고 있습니다. 다름이 아니라 강의를 듣는중에 의문이 들어 질문 드립니다.
세션과 JWT의 차이가 세션을 유지하냐 안하냐의 차이로 알고 있는데 JWT를 쓸때 authenticaion 객체가 session 영역에 저장됨.
이라고 하셨는데, 인증정보를 세션 저장소에 저장하게 되면 결국 해당 세션을 유지하는 것 아닌가요? 차이가 없어지는 것 아닌가 싶어서 질문 남깁니다. 아, 그리고 추가로 github에 @AuthenticationPrincipal가 사용불가능이라 하셨는데 컨트롤러에서 불러와 보니까 잘 불러와지던데 제가 뭘 잘못한 걸까요?

답변 1

0

최주호님의 프로필 이미지
최주호
지식공유자

인증정보를 세션 저장소에 저장하게 되면 결국 해당 세션을 유지하는 것 아닌가요?

아뇨 세션 유지기간은 길자나요. 저기에서 사용하는 세션은 임시로 request부터 response 직전까지만 사용하는 메모리 공간으로 사용하고 있어서 괜찮아요.

@AuthenticationPrincipal가 사용불가능

아닙니다. 저는 그런말을 한적이 없을껀데? 어느 부분에서 그렇게 적혀 있던가요?

답변 감사합니다! 아, 다름이 아니라 강의에는 그런 내용이 없었는데 깃헙에 그렇게 적혀있었어서 의문이 들었습니다.

깃헙 jWT-easy 레포지토리에서

인가부분 설명에서

Tip : JWT를 사용하면 UserDetailsService를 호출하지 않기 때문에 @AuthenticationPrincipal 사용 불가능.왜냐하면 @AuthenticationPrincipal은 UserDetailsService에서 리턴될 때 만들어지기 때문이다.

이 문구가 이해가 안돼서 질문 드렸습니다!

잘하고싶다님의 프로필 이미지
잘하고싶다

작성한 질문수

질문하기