inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

스프링부트 시큐리티 17강 - JWT 구조 이해

JWT를 굳이 사용하는 이유가 뭘까요?

3000

신동훈

작성한 질문수 44

5

무료로 이렇게 좋은 강의영상 올려주셔서 정말 감사합니다. 너무 많은 도움이 되네요.
전부터 JWT 토큰을 왜 사용하는지에 대해서 의문을 가지고 있었는데, 명확한 답이 나오지 않아 질문드립니다.
세션에 대한 문제점 (서버 확장시, 스티키 세션을 사용하거나, 세션 클러스터링을 해야하는 문제)를 해결하기 위해 사용된다는 것은 알겠습니다만, JWT를 사용하는 예제들 보면 리프레시토큰도 함께 사용하여, 어세스토큰을 제발급하는 용도로 사용하더군요.
그럼 리프레시토큰은 결국 세션과 마찬가지로 DB(혹은 레디스 등의 메모리 DB)등에 저장이 되어 관리되어질텐데, 그렇게 된다면 세션과 결국 별 차이점이 없지 않을까요?
이 문제를 가지고, 여러 사람들에게 물어보았으나, 딱히 세션에 비해 가지는 장점이 없어지는 것 같더라고요.
물론 리프레시토큰을 사용하지 않고 AccessToken만 사용하는 경우에는 장점이 있다는 것을 알겠습니다.
 
1. 정리하자면, RefreshToken을 사용하는 경우 세션에 비해 가지는 장점이 있는가?
2. 없다면 굳이 JWT는 왜 사용하는가? 입니다

jwt Spring Security spring

답변 1

1

최주호

정말 좋은 질문입니다!

 

리플래시 토큰을 사용하면 결국 DB접근이 일어나니 별로 이점이 없을 것 같아요.

그래도 리플래시 토큰을 매번 조회하는 것이 아니기 때문에 엑세스 토큰 만료시에만 DB접근이 일어나는 것이긴 하니까...조금 I/O가 줄긴 하겠죠.

리플래시 토큰 없이 사용하는 것이 가장 Stateless 다운 보안 방식이라고 생각해요.

 

앱에서 서버쪽 요청할 때 브라우저를 사용하는 것이 아니기 때문에 쿠키 접근을 위해 추가적인 설정을 하고 하는 귀찮음 또한 Authorization 헤더에 JWT토큰을 가지고 통신하게 되면 일관성있는 API서버를 만들 수 있어서 좋은 점도 있겠구요.

 

더 자세한 건 아래 내용 한번 읽어보세요. 머라고 답을 내려드리지는 못할것 같습니다.

그래도 충분히 고민해볼 질문이네요 ㅎ

 

 

아래 내용 참고 해보세요

https://blog.outsider.ne.kr/1160

0

신동훈

아 진짜 너무 빠른 답변 정말 감사합니다 ㅠㅠㅠㅠ

유료 강의 내주시면 안될까요 ㅠㅠㅠ 제가 돈쭐내드리겠습니다!!!

정말 정말 감사드립니다!

0

최주호

네 ㅎ

JWT를 구현한 다음 이 API를 호출해서 사용하는 것은 프론트엔드 쪽에서 하는 역할인가요?

0

104

1

Jwt쓰면 스프링시큐리티는 필수적으로 사용해야하나요?

0

405

1

13:23 system.out 출력문이 다르게 나옵니다.

0

133

1

수료증 문의

0

234

2

9분대에 질문이 있습니다 !

0

123

1

password 비교를 하지 않았는데 어떻게 인증이 통과된 건가요?

0

323

1

이전 강의 참고하라는 말씀

0

254

1

강의 실습하다가 막히는 분들 참고(2024년8월 기준)

2

1124

2

구글 소셜 로그인 302

0

204

1

오류 문의 _ org.springframework.orm.jpa.JpaSystemException: could not deserialize

1

588

1

[자바] 시큐리티 Config 참고

13

956

1

이론강의

0

283

1

SpringSecurity JWT 로그인 URL 2개 설정하는 방법

0

495

1

2024.06기준) 최근 SecurityConfig 설정 문의

0

930

3

구글 로그인시 authentication이 null 값이라고 에러가 발생합니다.

0

685

2

특정 url필터 거는 방법 이슈

0

426

1

강사님께서 말씀하시는 시큐리티세션이 SecurityContext인가요?

0

280

1

25강 마지막 테스트에서 오류

1

1049

2

jwt를 저장하는 위치에 궁금한 점이 있습니다.

0

302

1

mustache를 사용하지 않고 thymeleaf를 사용하려고 하는데

0

703

1

세션 인증방식이 REST 원칙에 위배되는 건가요?

0

344

1

jwt와 실제데이터의 관계

1

249

1

jwt 와 세션ID의 관계

1

317

1

SecurityConfig에서 세션 설정, 인가 설정

0

425

1