Nodejs-Tutorial Teil 6: Benutzerregistrierung

Posted by in JavaScript, Nodejs

Da sind wir auch schon bei Teil 6 des Tutorials gelandet, der es Benutzern endlich erlauben soll, sich auch selbst einen Login zu erstellen. In Teil 5 gab es eine große Umbauaktion, mit dem wir eine vernünftige Architektur auf die Beine gestellt haben. Damit kann die Registrierung eines neuen Benutzers relativ schmerzfrei implementiert werden. Los gehts!

Template für Benutzerregistrierung

Wirklich Besonderes gibts dazu nicht zu sagen, denn es ist eigentlich nur eine Kopie des Logins, die register.jade heißt. Die Form wurde so verändert, dass die action auf die Route register zeigt. Es wurde auch noch ein weiteres Inputfeld mit dem Namen email hinzugefügt.

user.js

Da ein User jetzt zusätzlich eine Email-Adresse benötigt, fügen wir dieses Attribut unserem Usermodel hinzu.

index.js

Es werden zwei neue Routen benötigt. Die erste zeigt einfach nur das vorher erstellte Template an. Die zweite wird aufgerufen, wenn das Formular abgeschickt wird. Dann wird die Strategie local-signup aus der passport.js zur Benutzerregistrierung verwendet. Wenn die Registrierung erfolgreich verlaufen ist, wird auf die Route loginuser weitergeleitet und damit auf die Profilseite.

passport.js

Zum vollständigen Glück fehlt noch die Passport-Strategie für die lokale Registrierung local-signup. Bei der Registrierung wird zuerst nach einem User mit dem gleichen Namen gesucht. Ist dabei ein Fehler aufgetreten oder der Benutzer existiert bereits, wird ein Fehler zurückgegeben. Ansonsten wird eine neue Instanz des Usermodels erstellt und mit allen Werten der drei Inputfelder bestückt und dann in die Datenbank geschrieben.

Fazit

Wie erwartet ging der Einbau einer Benutzerregistrierung relativ schmerzfrei über die Bühne. Damit können wir jetzt aus der Datenbank lesen und zusätzlich legt unsere Applikation inzwischen Datensätze an. Um eine vollständige CRUD-Anwendung aufzubauen fehlt noch ein Update und ein Delete. Um das Update kümmern wir uns im nächsten Teil.