2017-11-27 12 views
1

를 사용 jsonwebtoken``와 토큰 만료를 얻을 수 있습니다. 타이프는 exp 재산에 대한 오류를 던지고, 나는 그것들을 해결하는 방법을 아주 확실하지 않다 :는 어떻게 토큰을 디코딩 <code>jsonwebtoken</code>를 사용하고, 나는 만료 날짜를 얻으려고 타이프 라이터

import jwt from 'jsonwebtoken' 

const tokenBase64 = 'ey...' /* some valid token */ 

const token = jwt.decode(tokenBase64) 
const tokenExpirationDate = token.exp 
//        ^^^ 
// Property 'exp' does not exist on type 'string | object'. Property 'exp' does not exist on type 'string'. 

내가 @types/jsonwebtoken를 설치하고, token을 캐스팅 토큰 유형 보았지만 아무것도 발견하지 않았다. 제안?

.tsconfig 사용

: 제가 var jwt = require('jsonwebtoken');으로 라인 import jwt from 'jsonwebtoken' 를 사용할 때 동일한 오류 메시지를 가지고

{ 
    "compilerOptions": { 
    "allowJs": true, 
    "baseUrl": ".", 
    "jsx": "Preserve", 
    "moduleResolution": "Node", 
    "module": "ESNext", 
    "sourceMap": true, 
    "removeComments": true, 
    "allowSyntheticDefaultImports": true, 
    "target": "ESNext" 
    } 
} 
+0

수 있습니다 당신은 pls. 내 솔루션이 내게 도움이되는지 알려주세요. 그렇다면 내 대답을 수락하십시오. 미리 감사드립니다. 귀하의 질문에 업데이트 – jps

답변

1

[1] 대신 그것을 잘 작동합니다 :

var jwt = require('jsonwebtoken'); 
var tokenBase64 = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiZXhwIjoiMTUxMTk1MDcwMyIsImFkbWluIjp0cnVlfQ.wFC-9ZsqA9QuvLkRSkQmVYpUmgH9R-j8M4D0GECuPHY'; 

const token = jwt.decode(tokenBase64; 
const tokenExpirationDate = token.exp 
console.log(tokenExpirationDate); 

[1] 참조 또한 https://github.com/auth0/node-jsonwebtoken

+0

감사합니다. 문제는 jsonwebtoken'' '에서 수입 JWT'에 의해 발생합니다. 그에 따라 내 대답을 업데이 트되었습니다. 희망이 당신을 위해 작동합니다. 당신이 찾을 수 없습니다 필요 오류가 발생하는 경우 '는 유형 @ 설치 NPM 않습니다/노드는 --save-dev', https://stackoverflow.com/questions/31173738/typescript-getting-error-ts2304-cannot- 참조 이 작품 – jps

+1

을 이름이 필요-찾을 수 있지만, 사람이 하나가 여전히 가져 오기를 사용하는 대신에 필요 수있는 솔루션을 가지고 있다면 그것은 좋은 것입니다. 아마도 입력 파일을 변경해야합니다. –