2017-05-11 3 views
1
`bearer = bearerHeader.replace("Bearer",""); 
        jwt.verify(bearer, 'super_secret', function (err, decoded) { 
          console.log(err); 
          console.log(decoded);` 

ここに私のコード。私がトークンを検証しようとするたびに。私はトークンだけを確認するためにヘッダからベアラを置き換えたいです。ベアラーを取ると、いつも「間違い」になります。ヘッダーからベアラーを削除すると、完璧に動作します。誰も私を助けてこれを解決してください。この問題を解決する方法はありますか?トークンを確認するためにベアラをヘッダから置き換えようとしています

出力:

{ [JsonWebTokenError: invalid token] name: 'JsonWebTokenError', message: 'invalid token' } 
undefined 

答えて

4

bearerHeaderは "無記名456513" その後、あなたのコードのようなものであれば

bearerHeader.replace("Bearer",""); 

なります: "456513" は(トークンの前にスペースがある)

bearerHeader.replace('Bearer ',''); 

で問題を解決できる場合がありますが、まず認証スキーム(「ベアラ」という用語実際に「ベアラー」です):

var parts = bearerHeader.split(' '); 
if (parts.length === 2) { 
    var scheme = parts[0]; 
    var credentials = parts[1]; 

    if (/^Bearer$/i.test(scheme)) { 
    token = credentials; 
    //verify token 
    jwt.verify(token, 'super secret', function(err, decoded) { 
    } 
    } 
} 
+0

ありがとうございました。 @Fetra R –

関連する問題