TIL 12/14

드립이 블로그·2022년 12월 15일
0

TIL

목록 보기
30/80

오늘은 JWT에 대해 배웠다.
요즘 점점 머리에 남는게 없다고 느꼈는데, 그래도 이렇게 하나씩 개념을 알아가는 것이 있어서 다행인 것 같다.


Http는 상태 정보를 저장하지 않는다.
그렇기 때문에 쿠키와 세션을 사용해서 상태 정보 유지를 한다.
쿠키와 세션을 사용하면 클라이언트 별로 인증과 인가를 할 수 있다.

쿠키

클라이언트에 저장될 목적으로 생성한 파일이다.

세션

서버에서 일정시간동안 클라이언트 상태를 유지하기 위해 사용된다.
서버에서 클라이언트 별로 세션ID를 부여한다.
그 후 클라이언트 별로 정보를 서버에 저장한다.
서버에서 새성한 세션ID는 클라이언트의 쿠키값인 세션 쿠키로 저장되어 클라이언트의 식별에 사용된다.

JWT

Json Web Token
Json포맷으로 사용자의 속성을 저장하는 Claim 기반의 Web Token이다.
보통 쿠키 저장소에 담기게 된다.

장점

동시 접속자가 많을 때, 서버 측의 부하를 낮춘다.
클라이언트와 서버가 다른 도메인을 사용할 때, 사용이 쉬워진다.

단점

구현의 복잡도가 증가한다.
JWT의 내용이 커질수록 네트워크 비용이 증가한다.
기 생성된 JWT는 만료가 불가능하다.
시크릿 키 유출 시에 조작 가능성이 있다.

클라이언트에서 JWT를 통해 인증하는 방법

JWT를 API 요청시마다 Header에 포함시킨다.
그 후 서버에서 시크릿 키를 사용해 JWT의 위조 여부를 검증한다.
검증 성공 시 JWT에서 사용자의 정보를 가져와 확인한다.


요즘 진도 따라가는 것이 벅차다.
금방 따라 잡을 수 있을까 하는 마음이 생긴다.

0개의 댓글