JSON Web Tokens sind der Standard fuer stateless Authentication. Der Server erstellt ein signiertes Token, der Client schickt es bei jedem Request mit. Kein Session-Store noetig, perfekt fuer APIs und Microservices.
Pro-Tip — Der schnelle Weg
Speichere JWTs nie im localStorage, das ist anfaellig fuer XSS-Angriffe. Nutze httpOnly Cookies die JavaScript nicht lesen kann. Das ist die sicherste Variante.
Seite 1
1
JWT erstellen
Installiere jose fuer Edge-kompatible JWT-Operationen. Erstelle ein Token mit User-Daten und einer Ablaufzeit.
npm install jose
// lib/jwt.ts import { SignJWT, jwtVerify } from 'jose';
const secret = new TextEncoder().encode(process.env.JWT_SECRET!);
export async function createToken(userId: string) { return new SignJWT({ userId }) .setProtectedHeader({ alg: 'HS256' }) .setExpirationTime('7d') .setIssuedAt() .sign(secret); }
2
Token verifizieren
Bei jedem geschuetzten Request verifizierst du das Token. Wenn die Signatur ungueltig ist oder das Token abgelaufen, wird ein Fehler geworfen.
const user = await db.user.findUnique({ where: { id: payload.userId } }); return Response.json({ user }); }
Seite 2
Warum das funktioniert
Stateless bedeutet kein Session-Store, der Server prueft nur die Signatur
httpOnly Cookies sind vor XSS-Angriffen geschuetzt
JWTs funktionieren ueber mehrere Server und Microservices hinweg
Edge-kompatibel mit jose fuer Middleware-Checks weltweit
Tipps
JWTs koennen nicht widerrufen werden, halte die Ablaufzeit kurz oder nutze eine Blacklist
Packe keine sensitiven Daten ins Token, der Payload ist nur Base64-kodiert und lesbar
Nutze Refresh Tokens fuer laenger laufende Sessions ohne das Haupttoken ewig gueltig zu machen
jose funktioniert auf der Edge Runtime, jsonwebtoken nicht
Seite 3
Bereit für den nächsten Schritt?
KIWorld VibeCoding Masterclass
Du willst nicht nur einzelne Tools einrichten, sondern wirklich lernen wie du mit KI komplette Apps, Websites und SaaS-Produkte baust? Über 700 Videos — von Anfänger bis Fortgeschritten — in jedem Bereich. Von der Idee bis zum fertigen Produkt, ohne eine Zeile Code selbst zu schreiben.