JWT

이제우·2023년 11월 29일
0

JWT란

Json Web Token의 약자로 말 그대로 인증의 필요한 정보들을 Json형태로 암호화한 토큰이다.

JWT의 구조는 Header.Payload.Signature 의 구조로 되어 있는데
Header : JWT에서 사용할 토큰 타입과 해시 알고리즘 방식이 들어있다.
Payload : 서버에서 응답할 값이 들어있다. key-value 형식으로 되어 있다.
Signature : 토큰의 변조를 확인하는 부분. Header와 Payload, Secret의 값을 Header에 있는 해시 알고리즘으로 해싱하여 만들어진 값이다.

JWT의 장단점

장점 :
1. 데이터의 위변조를 방지한다.
2. 데이터 검증에 필요한 정보를 갖고 있어 인증을 위한 별도 저장소가 필요가 없다.
3. 서버가 StateLess 상태가 된다.

StateLess(무상태) 서버가 세션을 관리하지 않아 클라이언트로 오는 요청만 받아 응답하면 된다.

  1. 모바일에서도 동작함.
  2. 토큰 기반으로 다른 로그인 시스템에 접근, 권한 부여가 가능

단점 :
1. 토큰의 길이가 길어 인증 요청이 많아질 수록 네트워크에 부하가 온다.
2. Payload 자체는 암호화가 되지 않아 중요한 정보는 담을 수 없다.
3. 토큰을 탈취당하면 대체가 어렵다.

profile
게으른 사람 중에 제일 부지런하게 사는 사람이 꿈

0개의 댓글