2016-08-09 4 views
0

Laut Dokumentation, https://github.com/auth0/node-jsonwebtoken#jwtverifytoken-secretorpublickey-options-callback, jwt.verify wird kehrt Nutzlast dekodieren betreibe ich das einfache Skript:Jsonwebtoken überprüfen immer nur zurückgeben {iat: xxx}

var token = jwt.sign({email: req.body.email,}, 's3cr3t'); 
var decoded = jwt.verify(token, 's3cr3t'); 
console.log(decoded) 

aber es nur eine Ausgabe wie: { iat: 1470725598 }

I erwarte die Ausgabe sollte wie sein {email: [email protected],}

Gibt es etwas, das ich vermisse?

Antwort

2

Ich habe versucht, das Problem auf meinem Rechner zu replizieren, aber ich konnte. Aber sobald ich versuchte, ein Szenario nachzuahmen, in dem Ihr req.body.email Eigentum undefined war.

Beispiel:

var jwt = require('jsonwebtoken'); 
var token = jwt.sign({email: undefined}, 's3cr3t'); 
var decoded = jwt.verify(token, 's3cr3t'); 

Dann es ausgibt;

{iat: 1470727340}

Welches ist Ihr Problem passt. Also ich vermute, dass Ihr Problem nur auf req.body.emailundefined war.

Wenn angenommen wird, dass req.body.email korrekt auf "[email protected]" eingestellt ist, dann wäre die Ausgabe;

{email: '[email protected]', iat: 1470727500}

Auch nur eine Randnotiz. Möglicherweise möchten Sie die .verify-Methode in eine try-catch-Klausel wie in der Dokumentation beschrieben einbetten. Überprüfen Sie, ob ein Fehler ausgegeben wird, wenn ein Token ungültig ist.

+0

ja .. es ist ein Tippfehler, großer Dank .. – egig

0

Die Verify-Funktion benötigt einen dritten Parameter, function (err, decoded). Der Code sollte wie folgt aussehen:

jwt.verify (token, "s3cr3t", function (err, decoded) { 
    if (err) throw err; 

    // decoded object with your data 
} 
+1

Was OP dort ist, ist ein gültiges Beispiel. Wenn keine Callback-Funktion angegeben ist, arbeitet 'jwt.verify' synchron. –

+0

Ich verstehe. Dann sehe ich kein Problem mit dem ursprünglichen Code. Er könnte diesen Code auch versuchen und berichten, wenn er das Problem löst. – NikxDa

+0

Dank @NikxDa, aber nein :( – egig

Verwandte Themen