2015-12-08 14 views
11

Ich habe das Gefühl, dass dies eine schnelle Antwort sein wird, aber ich kann keine großen definitiven Antworten im Internet finden - was ist der Unterschied zwischen dem jsonwebtoken npm-Paket und dem Express -jwt NPM-Paket? I denken Express-JWT wird oben auf jsonwebtoken geschrieben und einfach eingehende Token überprüft und setzt req.user auf die Benutzer-Nutzlast auf der JWT.express-jwt vs. jsonwebtoken

Ist das korrekt? Sorry, wenn es sich um eine totale Noob-Frage handelt ... Ich habe gerade angefangen, Authentisierung und Node/Express zu lernen, also ist es alles ziemlich neu für mich.

Antwort

12

Zurück zu diesem viele Monate später. Falls es für irgendjemanden hilfreich ist, ist express-jwt auf dem jsonwebtoken Paket aufgebaut und macht eine Menge zusätzlicher cooler Sachen. Sie verwenden weiterhin jsonwebtoken, um Ihre JWTs zu signieren und zu verifizieren, aber express-jwt hilft Ihnen dabei, Routen zu schützen, prüft JWTs vor einem geheimen Schlüssel und erstellt einen req.user aus der Nutzlast des Tokens, wenn dieser es verifizieren kann.

tl; dr: express-jwt verwendet jsonwebtoken in seinem eigenen Code und fügt zusätzliche Ordentlichkeit hinzu.

+2

Vielen Dank für das Zurückkommen - und kümmern sich um andere. – aero

0

Express-JWT ist nur eine Bibliothek für Express, die json Web-Token validiert/signiert, die mit dem Express-Webserver (Middleware) verwendet werden können. JsonWebTokens ist nur eine weitere Implementierung von Json Web Token. Es gibt viele andere JWT-Token-Bibliotheken, die Sie mit Knoten implementieren können. Express-JWT ist nur eine davon. Sie beide machen im Wesentlichen dasselbe und Sie können entweder oder verwenden. Keine sind aufeinander gebaut, sie sind mit dem JWT-Standard gebaut. Wählen Sie diejenige, die Ihren Anforderungen am besten entspricht.

+1

Express-JWT ist in der Tat auf der Oberseite von jsonwebtoken gebaut, nach seiner package.json: "jsonwebtoken": "^ 5.0.0" – stone

Verwandte Themen