© Dimonika/Shutterstock.com
Authentifizierung mit Passport

Node.js-Module: Passport


Das Schreiben von Logdateien, der Upload von Dateien und die Authentifizierung sind wahrscheinlich die Problemstellungen, mit denen man in der Webentwicklung am häufigsten konfrontiert wird. Glücklicherweise gibt es für all diese Aufgaben bereits vorgefertigte Lösungen. Heute möchte ich Ihnen mit Passport eine Erweiterung für Express vorstellen, mit der Sie mit wenig Aufwand eine flexible Authentifizierung in Ihrer Applikation umsetzen können.

Bei der Implementierung von Webapplikationen mit Node.js wird sehr häufig Express als Framework eingesetzt. Express basiert auf dem HTTP-Modul von Node.js und erweitert es um Features wie Routing und ein Plug-in-Konzept mit dem Namen Middleware. Express ist das am häufigsten verwendete Web-Application-Framework für Node.js. StrongLoop, das Unternehmen hinter Express, wurde mittlerweile von IBM aufgekauft. Das bedeutet für Sie als Entwickler, dass Sie sowohl auf ein großes Unternehmen im Hintergrund als auch auf eine der größten Communities im Node.js-Bereich setzen.

Bei der Beantwortung von Anfragen werden in einer Express-Applikation Callback-Funktionen nach bestimmten Regeln aufgerufen, um die Antwort an den Client zu generieren. Meist wird eine bestimmte Funktion aufgrund des URL-Pfads und der HTTP-Methode ausgewählt und ausgeführt. Das Konzept der Middleware sieht vor, dass nicht nur eine Callback-Funktion ausgeführt wird, sondern beliebig viele Funktionen zwischen der eingehenden Anfrage und der ausgehenden Antwort stehen können. Diese zwischengeschalteten Funktionen werden auch als Middleware bezeichnet und dienen dazu, den eingehenden Request auszuwerten oder die Response mit Informationen anzureichern. Eine solche Middleware-Funktion eignet sich also hervorragend, um die Authentifizierung umzusetzen.

Passport ist eine konkrete Implementierung einer Middleware, die eine flexible Lösung für die Authentifizierung in einer Webapplikation bietet. Zu diesem Zweck verfolgt Passport, wie auch Express, einen modularen Aufbau. Der Kern von Passport kümmert sich darum, die Infrastruktur für die Authentifizierung zur Verfügung zu stellen. Die konkrete Implementierung übernehmen die sogenannten Strategies. Das sind kleine Module, die separat installiert werden können und Ihnen beispielsweise einen Log-in über Twitter, Facebook oder GitHub ermöglichen.

Installation

Die Installation erfolgt wie gewohnt über npm. Mit dem Kommando npm install –save passport installieren Sie Passport und halten es als Abhängigkeit in Ihrer l...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang