JWT 간단한 개념 정리

Dev_ch·2022년 11월 4일
0
본 글은 2022.08.21에 작성되었습니다.

JWT는 유저를 검증하고 식별하는 Token 기반의 인증 기법으로 서버가 아닌 클라이언트에게 저장이 된다. 구성으로는 헤더, 페이로드, 시그니처로 3개의 부분으로 구성되어 있으며 RFC7519로 지정되어있다.

  • 헤더는 시그니처를 해싱하기 위한 알고리즘 정보가 담겨있다.
  • 페이로드는 서버와 클라이언트가 주고받는 시스템에서 실제로 사용될 정보에 대한 내용을 담고있다.
  • 시그니처는 토큰의 유효성 검증을 위한 문자열, 토큰이 유효한 토큰인지 검증할 수 있으며 이는 Bast64 Url-asfe Encode 이후 Header에 적용된 해시함수를 적용!
  • 장점
    - 중앙의 인증서버가 없어서 시스템 수평 확장 유리, 데이터 스토어에 대한 의존성 없음
    - URL, COOKIE, HEADER 모두 사용 가능
  • 단점
    - payload의 정보가 많아지면 네트워크 사용량 증가, 서버에서 클라이언트의 토큰을 직접 조작 할 수 없음

JWT를 통한 인증과정


  1. 정상적인 로그인 실행 (클라이언트)
  2. JWT 발급 (서버)
  3. 발급된 토큰을 사용하여 API 요청 (클라이언트)
  4. 토큰에 문제가 없다면 응답 (서버)

JWT 공식 홈페이지

profile
내가 몰입하는 과정을 담은 곳

0개의 댓글