내배캠 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는 단순히 데이터를 표현하는 형식입니다.