[Diary] SPRING 스터디 Token/JWT

Shaun.the.sheep·2025년 7월 18일

[Dairy] S.C.C TIL

목록 보기
9/22

Token

장점
1. 클라이언트에 저장됨으로 서버의 리소스 낭비를 방지
2. stateless 기반으로 확장성이 뛰어나다.
3. 고유 서명을 포함으로 위조된 요청 여부 확인 가능하다.
단점
1. 자체의 데이터 용량이 큼으로 트래픽이 증가됨
2. Payload는 암호화되지 않아서 중요한 데이터를 담을 수 없음
3. 만료시간 설정으로 탈취 당할 경우를 대비

JWT (Json Web Token)

  • 인증에 필요한 정보들을 암호화시킨 JSON 형태의 Token을 의미한다
  1. Signature
    - Header와 Payload를 서버의 Secret Key로 서명하여 암호화 한다.
    - 암호화는 Header에서 정의한 알고리즘(alg)을 활용한다.
    - 서명을 통해 서버는 Token이 변조되지 않았음을 확인할 수 있다.



Payload

  • claims : 인증 관련 데이터
  • Claims의 종류
    • Registered Claims : 미리 정의된 Claims
      • iss(issuer) : 발행자
      • exp(expiration time) : 만료시간
      • sub(subject) : 제목
      • iat(issued At) : 발행 시간
      • jti(JWT ID) : 토큰의 고유 식별자
    • Public Claims : 사용자가 정의할 수 있는 클레임, 공개용 정보 전달 목적
    • Private Claims : 사용자 지정 클레임, 당사자들 간에 정보를 공유하기 위한 목적

0개의 댓글