JWT(JSON Web Token) (1)

Sadie·2024년 5월 30일
0

Spring And JPA

목록 보기
5/9

JWT란 무엇인가

JSON Web Token의 앞글자를 딴 단어
JSON형식을 이용해 안전하게 정보를 전달하기 위한 토큰 기반 인증방식으로, 주로 웹 애플리케이션에서 회원 인증을 할 때 많이 사용한다


그림 출처: https://velog.io/@vamos_eon/JWT%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%EA%B0%80-%EC%82%AC%EC%9A%A9%EC%B2%982
(굉장히 이해하기 쉽게 그려놓으신 그림이어서 JWT를 이해하는데 많은 도움이 되었다)


JWT의 장단점

장점

  • 데이터 위변조 방지
  • 인증을 위한 별도의 저장장치가 없어도 된다
  • 세션(Stateful)과 다르게 서버는 무상태(StateLess) -> 확장성, 보안, 속도
  • DB 조회 필요 없음

*무상태(StateLess): 서버-클라이언트 구조에서 서버가 클라이언트의 상태를 가지고 있지 않는 것. server는 단순히 요청이 오면 응답을 보내는 역할만 수행

단점

  • 정보가 많아질수록 토큰의 길이가 늘어나 네트워크에 부하
  • Payload 자체는 암호화가 되지 않아 중요한 정보는 담을 수 없음
  • 토큰을 탈취당한다면 대처가 매우 어려움
  • 상태를 저장하지 않기 때문에 한번 만들어지면 제어가 불가능(임의 만료 불가능)

다음 포스팅에서는 구현을 올리겠습니다



참고

https://velog.io/@vamos_eon/JWT%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%EA%B0%80-%EC%82%AC%EC%9A%A9%EC%B2%982
https://velog.io/@gimminjae/JWT%EB%9E%80-%EC%99%9C-%EC%82%AC%EC%9A%A9%ED%95%A0%EA%B9%8C-%EC%9E%A5%EB%8B%A8%EC%A0%90%EC%9D%80
https://puleugo.tistory.com/138
https://youtu.be/XXseiON9CV0?si=IyRrz7zp0VRzJ5Gt

https://news.hada.io/topic?id=15053&utm_source=weekly&utm_medium=email&utm_campaign=202423

0개의 댓글