2017-02-05 6 views
0

나는 페이로드 무엇이이 값이 의미 않습니다깃털에서 JWT 토큰 만료가 어떻게 작동합니까? 내 JWT 토큰을 디코딩 할 때

{ 
    "exp": 1494105589 
} 

에서 볼? 문서 도구에서는 기본 JWT expiresIn 값이 "1d"이지만 토큰이 생성 된 후 1 일 (ms * 1000 * 60 * 60 * 24)이 아닌 것처럼 보입니다. 그리고 최악의 경우 :이 값은 "expiresIn"을 설정할 때 많이 변경되지 않았습니다 : "90d"내 설정. 누군가가 이것에 대한 설명을 해줄 수 있습니까?

답변

2

1970 년 1 월 1 일 00:00 UTC부터 초를 세는 유닉스 타임 스탬프입니다. 값을 변환하는 데 도움이되는 여러 웹 사이트가 있습니다 (예 : 이 하나 : http://www.unixtimestamp.com/index.php 타임 스탬프에 대해 05/06/2017 @ 오후 9시 19 분 (UTC)이므로 토큰은 5 개월 동안 유효합니다.

https://tools.ietf.org/html/rfc7519#section-4.1.4

숫자 날짜는 특급 주장에 사용된다 (또한 NBF (안 전)와 IAT (발행) 주장에 대한)

https://tools.ietf.org/html/rfc7519#section-2숫자 날짜을 정의한다고 설명 :

1970-01-01T00 : 00 : 00Z UTC에서 지정된 UTC 날짜/시간까지의 초를 나타내는 JSON 숫자 값이며 윤초는 무시됩니다. 내가 "expiresIn"을 설정하면이 값이 많이 변경되지 : 내 설정에서 "90D"그 옆에

당신은

그리고 최악 말했다. 당신이 토큰을 받았을 때

,이 같은 구조에서 왔는가 :

{"access_token": "eyJhbGciOiJ...", "token_type": "bearer", "expires_in": 86399 } 

그래 경우

은 expires_in 올바른 값을 보여 주 었는가?

+0

괜찮습니다. 내 문제는 숫자 날짜가 ** 초 ** ** 밀리 초가 아닌지 몰랐다는 것입니다. 이제 모든 것이 명확합니다. – Alendorff