2017-05-01 2 views
1

Ziel ist es, ein Benutzerprofilsystem für meine Webanwendung zu erstellen. Ein Benutzer könnte sich anmelden, eine Sitzung verwalten und sein Profil sehen. Nachdem ich online verschiedene Tutorials darüber gelesen habe, fühle ich mich etwas verloren. Jeder benutzt verschiedene Bibliotheken und als jemand, der neu in der Webentwicklung ist, ist es nicht klar, was jede Bibliothek tut. Ich habe die folgenden Bibliotheken verwendet, kann jemand den Ablauf von Benutzerprofil-Interaktionen erklären und wo kommt jede Bibliothek her?Nodejs Benutzerprofile und Sitzungen

passport 
passport-local 
bcrypt-nodejs 
connect-flash 
express-session 

jsonwebtoken 
express-jwt 

morgan 
cookie-parser 

Antwort

1

Eine Möglichkeit, das Lernen zu beginnen können sein: https://www.youtube.com/watch?v=Z1ktxiqyiLA Dort lernte ich, wie die meisten Plugins aus Ihrer Frage zu verwenden.

Ok so über den Plugins:

  • passport Pass ist ein node.js Plugin, das in der Regel mit express verwendet wird, die als Middleware verantwortlich für die authorization und authentication arbeitet

  • passport-local - ist ein Plugin für passport, technisch eine Strategie der Authentifizierung, die normalerweise mit einer Datenbank oder Konfigurationsdatei verwendet wird.

  • bcrypt-nodejs wird normalerweise zum Verschlüsseln der Passwörter in der Datenbank verwendet (aber es ist viel mächtiger als das), ist nicht cool, um das Passwort im Klartext zu speichern.

  • connect-flash - wird für Flash-Nachrichten verwendet, die auf einer Seite "Der Benutzer wurde erfolgreich hinzugefügt", "Ungültige Benutzeranmeldeinformationen" oder andere Erfolgs- oder Fehlermeldungen angezeigt werden, die auf einer Seite angezeigt werden sollen.

  • express-session - ist eine express Middleware, die verantwortlich ist, die Benutzersitzung zu speichern.

  • jsonwebtoken - jwt wird verwendet, um ein Token zu erstellen, mit dem Sie identifizieren können, ob ein Benutzer authentifiziert wurde oder nicht.

  • express-jwt - eine express Middleware für jsonwebtoken

  • cookie-parser - eine express Middleware zu analysieren Cookies

  • morgan - nur ein Log-ing-Service.

Ok, so dass Sie ein bisschen Theorie hier verstehen sollten:

  • passport mit passport-local Strategie ist ein zustandsbehaftete Authentifizierungsmechanismus, wenn der Benutzer speichern sollte authenicated ist oder nicht in einer Sitzung, wenn Sie starten den node.js-Server neu, wenn Sie Ihre Sitzungen in einem Drittanbieter-Dienst nicht als Datenbank/Datei usw. beibehalten haben ... Sie werden die Sitzungen verlieren.

  • jsonwebtoken ist ein zustandsloser Authentifizierungsmechanismus, Sie müssen nichts auf Ihrem Server nur den "geheimen Schlüssel" speichern.Die zustandslose Architektur hat einige coole Vorteile, da sie horizontale Skalierbarkeit fördert. Sie können endlose Knoten haben, die wissen, wie das gesendete Token analysiert wird und ob der Benutzer angemeldet ist oder nicht. In letzter Zeit gehe ich mit jwt als Authentifizierung.

+0

Fantastische Antwort, es hilft sehr! Kann ich ein paar Dinge klären? In dem Video, das du verlinkt hast, benutzen sie nicht das Morgan-Modul, ist Morgan nicht notwendig? Das Video verwendet auch nicht jsonwebtoken, sondern Express-Session. Muss ich zwischen jsonwebtoken und express-session wählen? Sie sagten Pass ist eine Stateful Authentication und jsonwebtoken ist zustandslose Authentifizierung Mechanismus, aber ich habe Tutorials gesehen, wo beide Module verwendet werden? – user3768533

+0

Yo kann sie benutzen, aber normalerweise gehen sie alleine, ich benutze json web token für api-s, und für monolit apps gehe ich mit pass. Morgan wird verwendet, um Protokolle zu speichern und anzuzeigen, es ist ein Debug-Tool. –

+0

Das Video-Tutorial verwendet Lenker. Soweit ich es verstehe, wenn ich AngularJS oder ReactJS benutzen möchte, werde ich wahrscheinlich keinen Lenker benutzen. Soll ich die Lösung im Video noch mit Pass- und Express-Sessions nutzen? – user3768533

Verwandte Themen