내배캠 TIL WIL/내배캠 til

내배캠 til 30일차 jwt

zfz 2022. 12. 26. 09:25

 jwt

 

JSON 형태의 데이터를 안전하게 교환하여 사용할 수 있게 해줍니다.

 

인터넷 표준으로서 자리잡은 규격입니다.

 

여러가지 암호화 알고리즘을 사용할 수 있습니다.

 

header.payload.signature 의 형식으로 3가지의 데이터를 포함합니다. (개미처럼 머리, 가슴, 배) 때문에 JWT 형식으로 변환 된 데이터는 항상 2개의 . 이 포함된 데이터여야 합니다.

 

이런식으로 생김

 

header(머리)는 signature(배)에서 어떤 암호화를 사용하여 생성된 데이터인지 표현합니다.

payload(가슴)는 개발자가 원하는 데이터를 저장합니다.

signature(배)는 이 토큰이 변조되지 않은 정상적인 토큰인지 확인할 수 있게 도와줍니다.

 

더 알아두어야 할 특성

 

JWT는 **암호 키(Secret Key)**를 모르더라도 **복호화(Decode)**가 가능합니다. 변조만 불가능 할 뿐, 누구나 복호화하여 보는것은 가능하다는 의미가 됩니다!

 

때문에 **민감한 정보(개인정보, 비밀번호 등)**는 담지 않도록 해야합니다.

 

특정 언어에서만 사용 가능한것은 아니다, 단지 개념으로서 존재하고, 이 개념을 코드로 구현하여 공개된 코드를 우리가 사용하는게 일반적입니다.

 

데이터를 교환하고 관리하는 방식인 쿠키/세션과 달리, JWT는 단순히 데이터를 표현하는 형식입니다.