JWT

·2022년 7월 31일
0

로그인 프로세서에서 JWT 토큰을 사용한다. 그렇다면 이때 사용하는 JWT 토큰이라는 건 대체 뭘까?? JWT의 개념부터 알아보자.


JWT란?

Json Weeb Token의 약자로 하나의 인터넷 표준 인증 방식이다.
말 그대로 인증에 필요한 정보들을 Token에 담아 암호화해서 사용하는 토큰이다.
JWT는 서명된 토큰이다. 공개/개인 키를 쌍으로 사용하여 토큰에 서명할 경우 서명된 토큰은 개인 키를 보유한 서버가 이 서명된 토큰이 정상적인 토큰인지 인증할 수 있다.
이런 구조 때문에 인증 정보를 담아 안전하게 인증을 시도하게끔 전달할 수 있다.

JWT 토큰의 구성

  1. header : 토큰의 타입, 암호화시 사용한 알고리즘 정보
  2. payload : 토큰 발행정보(누구인지, 언제 발행되었는지, 언제 만료될 것 인지)
  3. signature : 토큰의 비밀번호

누구든지 복호화하여 열어 볼 수 있지만 토큰의 내용을 조작할 수는 없다. 열어 볼 수는 있기 때문에 중요한 데이터는 저장하면 안 된다.

토큰을 생성할 때 signature(토큰의 비밀번호)를 생성하여 사용하게 되는데 이 비밀번호를 누구나 아는 것은 아니다.

따라서 백엔드에서 signature를 통해 토큰 조작 여부를 알 수 있다.

profile
파워블로거입니다 주인이 힘이 센 건 아니고 그냥 하고 싶습니다

0개의 댓글