2017-06-20 2 views
0

Ich versuche, die JWT in Knotenserver [npm installieren jsonwebtoken] zu dekodieren, die in Java [io.jsonwebtoken/jjwt/0.6.0] erstellt wird, aber ungültige Signaturfehler erhalten.wie JWT-Token in Node.js zu dekodieren, die in Java generiert wird?

Hat jemand das gleiche erlebt und die Lösung gefunden dann könntest du bitte mit der Gruppe teilen.

in JAVA

jwtToken = Jwts.builder(). SetSubject (E-Mail) .claim ("Rollen", "user"). SetIssuedAt (new Date (currentTimeInMills)). SetExpiration (new Date (expireIn)) .signWith (Signaturalgorithmus.HS256, "secretKey"). Compact();

in Knoten

var jwt = erfordern ('jsonwebtoken'); var decodiert = jwt.verify (jwtToken, "secretKey");

Antwort

0

Ist Ihr Knotencode für den Signaturalgorithmus auf HS256 voreingestellt?

Der Fehler ist ziemlich klar und JWT ist bekanntermaßen plattformübergreifend kompatibel.

Überprüfen Sie, ob die Schlüssel auf beiden Seiten identisch sind, die Forderungsobjekte auf beiden Seiten identisch sind und die verwendeten Signaturalgorithmen auf beiden Seiten identisch sind.

+0

Danke für die Antwort! Ich bin in der Lage, das Token im Knoten zu dekodieren, nachdem ich com.auth0.java-jwt.3.2.0 jar in Java und var jwt = require ('jsonwebtoken') benutzt habe; im Knoten. – user1522808

+0

Also haben Sie Java-Bibliotheken dann gewechselt? Die andere Möglichkeit, dies zu testen, ist, dass ich ein Online-Programm benutze, um Java zu decodieren und zu verwenden, um zu kodieren und umgekehrt. Dadurch können Sie entweder die Kodierung/Dekodierung von Node oder Java unabhängig testen und dann, wenn Sie wissen, dass beide Seiten unabhängig arbeiten, wissen Sie, dass sie zusammenarbeiten werden. Ich hatte Probleme mit einigen Implementierungen von JWT in Java, die einfach nicht gut mit anderen Plattformen spielen. Das könnte auch hier in Ihrem Fall der Fall gewesen sein. – anon58192932

Verwandte Themen