jwt 토큰

 

Best Practice

토큰은 HttpOnly cookies에 저장하는게 젤 안전하다고 함
  • 자바스크립트로 쿠키에 엑세스할 수 없으므로 XSS 등의 취약점에도 탈취되지 않음
  • JWT를 세션관리에 사용하지 마라. 세션을 안쓰려고 토큰을 쓰는 것임
 

jwt 토큰 분석 사이트

notion image
iat : 토큰이 발행된 시간 (tickcount /초)
exp : 토큰 만료 시간 (tickcount /초)

tickcount 이해하기

tickcount가 1970/01/01 으로부터 얼마만큼의 시간(밀리세컨)가 흘렀는지 이므로 1초에 1000씩 올라감.
jwt 토큰에 나온 iat, exp은 초 단위의 틱카운트이므로 tickcount/1000 했을 때 나온 값임.

토큰 유효시간 계산하기

  • (exp-iat) 하면 유효시간()
  • (exp-iat)/60 하면 유효시간()
  • (exp-iat)/60/60 하면 유효시간(시간)
"atk":{ ... "iat": 1611898765, "exp": 1611927565 } //유효시간 : (1611927565-1611898765)/60/60 = 8시간 "rtk":{ ... "iat": 1611898765, "exp": 1611985165 } //유효시간 : (1611985165-1611898765)/60/60 = 24시간

자바스크립트에서 현재시간 틱카운트 구하기

var d = new Date(); var n = d.getTime(); //예시 : 1611899858140(miliseconds)
 

jwt decode

jwt-decode