JWT(JSON Web Token)

|

유저를 인증하고 식별하기 위한 토큰 기반 인증

 

서버에 저장되는 세션(Session)과 달리 클라이언트에 저장

- 세션방식이 보안에서는 상대적으로 강하다.

- 서버의 자원이 많이 필요

- 매번 요청 시, 세션 저장소를 조회해야함.

 

토큰 자체에 사용자의 권한 정보나 서비스를 사용하기 위한 정보가 포함(self-contained)

 

RESTful과 같은 무상태(stateless)인 환경에서 사용자 데이터를 주고 받을 수 있음.

 

xxx.yyy.zzz의 형태를 띠는 JWT

// header
{
 	"alg": "서명 시 사용하는 알고리즘",
	"kid": "서명 시 사용하는 키를 식별하는 값",
      	"typ": "타입"
}

// payload
{
	"sub": "hyeonsu.jung",
    	"exp": 1623235123,
    	"iat": 1532341234
}

// signature 
위의 헤더(header)와 페이로드(Paylaod)를 합친 문자열을 서명한 값

 

 공개 키 암호 방식(PKC, Public Key Cryptograpyh)를 사용

 

JWT의 크기가 커질수록 거의 모든 요청에 대해 전송되므로 데이터 트래픽 크기에 영향

 

세션방식
JWT 방식

 

'IT Infra' 카테고리의 다른 글

[Docker] 기초 정리  (1) 2023.06.14
PUTTY  (0) 2023.03.31
개발 환경 구성  (0) 2023.03.29
MSA 학습  (0) 2023.03.29
인터넷  (0) 2020.10.23
And