byteNative
Backend

JWT & OAuth2

Sichere Authentifizierung und Autorisierung nach Industriestandard.

Was ist JWT & OAuth2?

JWT und OAuth2 sind die etablierten Bausteine, mit denen sichere Anmeldung und Berechtigung im Web umgesetzt werden, und sie lösen zwei verschiedene Aufgaben. OAuth2 regelt den Ablauf, über den eine Anwendung im Namen eines Nutzers Zugriff erhält, ohne dessen Passwort je zu sehen. Ein JWT ist das handliche, signierte Token, das danach bei jeder Anfrage mitläuft und ohne Rückfrage an die Datenbank geprüft werden kann. Darauf aufbauend setzen wir Logins, übergreifendes Single Sign-on und fein abgestufte Rechte nach Industriestandard um.

Mehr in der Dokumentation

Wofür wir es nutzen

Wir setzen das ein, wenn ein Login von Drittanbietern wie Google kommen oder eine API zustandslos abgesichert sein soll. Das signierte Token prüfen unsere Dienste lokal, deshalb braucht nicht jede Anfrage eine Rückfrage an die Datenbank. Bei mehreren zusammenspielenden Diensten ermöglicht uns das ein gemeinsames Single Sign-on ohne doppelte Anmeldung.

ts
import jwt from "jsonwebtoken";

const token = jwt.sign({ sub: user.id }, secret, { expiresIn: "15m" });

const payload = jwt.verify(token, secret);
console.log(payload.sub);
kurzlebiges access-token signieren und prüfen

Gut zu wissen

Ein einmal ausgegebenes JWT lässt sich vor Ablauf nicht ohne Weiteres zurückziehen, weil es bewusst zustandslos geprüft wird. Wir halten die Lebensdauer der Access-Tokens deshalb kurz und erneuern sie über ein separates Refresh-Token, das sich im Ernstfall sperren lässt.

00Backend

Weitere Werkzeuge, mit denen wir im selben Bereich arbeiten.

Welche Technologie passt zu dir?

Das musst du nicht entscheiden, das ist unser Job. Erzähl uns einfach von deinem Vorhaben.