Sebastian Springer MaibornWolff GmbH

Die Anmeldung von Benutzern ist eines der häufigsten Features in Webapplikationen. Vor allem, wenn es darum geht, persönliche Daten vertraulich zu behandeln oder kommerzielle Inhalte anzubieten, führt kein Weg an einer Anmeldung vorbei. Dabei können Sie auf eine große Palette von Möglichkeiten zurückgreifen.

Bei der Implementierung einer Single-Page-Applikation gibt es eine Reihe von Standardfunktionalitäten, die in fast jeder Applikation anzutreffen sind. Dazu zählen die Anzeige von Informationen, die Kommunikation mit einem Server sowie die Umsetzung von Formularen. Was allerdings in vielen Tutorials außen vor bleibt, ist die Authentifizierung von Benutzern. Es lohnt sich, dieses Thema einmal näher zu beleuchten.

Die Authentifizierung von Benutzern ist ein wesentliches Feature in vielen Applikationen, denn nicht jeder Benutzer darf jeden Teil einer Applikation verwenden und auch nicht alle Daten sehen oder modifizieren. Aus diesem Grund beschäftigen wir uns in diesem Artikel mit der konkreten Implementierung einer Authentifizierungsstrategie in einer Single-Page-Applikation. Das Frontend wird mit React, das Backend mit Express umgesetzt.

Authentifizierung – das Warum und das Wie

Warum Authentifizierung notwendig ist, lässt sich leicht anhand eines praktischen Beispiels erklären. Stellen Sie sich vor, Sie arbeiten mit einer Applikation, mit der Sie Benutzerdaten verwalten können. In der Applikation werden neben dem Namen und der Adresse auch Kontaktinformationen wie Telefonnummer und E-Mail-Adresse sowie Konto- und Kreditkartendaten gespeichert. Auf solche Daten dürfen natürlich nur berechtigte Personen zugreifen. Üblicherweise gibt sich ein Benutzer mit einer Kombination aus einem Benutzernamen und einem Passwort gegenüber einem System zu erkennen. Basierend auf diesen Informationen können Sie ein Rollen- und Rechtesystem aufbauen, mit dessen Hilfe sich der Zugriff auf bestimmte Ressourcen noch besser steuern lässt.

Nach der Eingabe der Daten werden diese zum Server übermittelt. Hier entsteht das erste potenzielle Sicherheitsproblem, da die Daten so gesendet werden müssen, dass kein potenzieller Angreifer in der Lage ist, sie abzufangen. Nach einer Prüfung durch den Server erhält der Benutzer entweder eine positive oder eine negative Rückmeldung. War die Anmeldung erfolgreich, müssen Sie dafür sorgen, dass der Benutzer über eine gewisse Zeitspanne angemeldet bleibt, da- mit er nicht bei jeder Anfrage erneut Benutzernamen und Passwort übermitteln muss. Der letzte Schritt im Authentifizierungsprozess ist die Abmeldung. Hat der Benutzer seine Interaktion beendet, wird die aktuelle Sitzung entweder nach Ablauf der Gültigkeitsfrist automatisch beendet oder der Benutzer führt dies manuell durch.

Neben einigen Sicherheitsgesichtspunkten, die Sie beachten sollten, ist die Entscheidung für einen konkreten Authentifizierungsmechanismus einer der ersten und wichtigsten Aspekte für die konkrete Implementierung einer Authentifizierung in Ihrer Applikation.

Den vollständigen Artikel lesen Sie in der Ausgabe:

PHP Magazin 3.19 - "PHP 5.x und PHP 7.x"

Alle Infos zum Heft
579883309Authentifizierung mit React und Express umgesetzt
X
- Gib Deinen Standort ein -
- or -