JWT

이정훈·2024년 6월 12일
0

API

목록 보기
5/8

JSON이란?

JSON은 JavaScript Object Notation의 약자입니다. Javascript에서 객체를 작성할 때 사용하는 방식을 말합니다.

JWT란

JWT는 JSON Web Token의 약자로 JSON으로 만들어진 Web 토큰을 말합니다.

JWT의 사용처

  1. 인가
    사용자가 누구인지 확인하고 특정 리소스에 대한 접근을 허용할때 JWT를 사용합니다.

  2. 정보 교환
    정보를 교환하는 용도로 JWT를 사용합니다.

JWT구조

JWT는 닷(.)으로 구분된 3영역이 있습니다.
맨 왼쪽에서부터 헤더, 내용, 서명 순서로 들어갑니다.

  1. 헤더
    헤더는 주로 두 개의 정보를 표시합니다. 암호화 방식과 해당 JWT의 타입입니다.
    아래는 헤더를 복호화했을때 나오는 정보입니다.

  2. 페이로드
    페이로드는 엔티티와 추가적인 정보를 담고 있습니다.
    그냥 본문이 들어가는 부분이라고 생각하면 됩니다.

아래는 페이로드의 예시입니다.

  1. 시그니쳐
    시그니쳐는 인코딩된 헤더, 인코딩된 페이로드, 시크릿 키를 암호화 알고리즘을 통해 암호화시켜 만듭니다.
    시그니쳐는 JWT메세지가 외부에 의해 변경되지 않았다는 것을 증명하기 위해 사용됩니다.

위의 JWT각 부분을 모아두면 아래와 같은 형태가 됩니다.

JWT은 어떻게 작동하는가?

  1. 사용자가 로그인을 하면 서버는 JWT을 사용자에게 줍니다.

  2. 사용자는 받은 웹 토큰을 요청을 보낼때 헤더에 포함하여 보냅니다.

    *참고: 일부 서버는 JWT가 일정 용량 이상이면 받지 않습니다.

profile
기록으로 흔적을 남깁니다.

0개의 댓글

관련 채용 정보