Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

JWT Best Practices — JSON Web Tokens richtig einsetzen

19. 05. 2025 1 Min. Lesezeit intermediate

JWT ist überall — aber ein schlecht implementiertes JWT ist schlimmer als gar keins. ‘None’-Algorithmus, Schlüssel im Code, Token ohne Ablaufzeit.

Sichere Erstellung

import jwt from datetime import datetime, timedelta def create_token(user_id, role): return jwt.encode({ ‘sub’: user_id, ‘role’: role, ‘iss’: ‘myapp’, ‘aud’: ‘myapp-api’, ‘exp’: datetime.utcnow() + timedelta(minutes=15), }, PRIVATE_KEY, algorithm=’RS256’) def verify_token(token): return jwt.decode(token, PUBLIC_KEY, algorithms=[‘RS256’], # Explizit angeben! issuer=’myapp’, audience=’myapp-api’)

Typische Fehler

  • alg: none — unsignierter Token wird akzeptiert
  • HS256 mit geteiltem Secret
  • Token ohne Ablaufzeit
  • Sensible Daten im Payload (JWT ist nicht verschlüsselt!)
  • Token in localStorage (XSS-anfällig)

Refresh-Token-Rotation

@app.post(‘/api/refresh’) async def refresh(request): old_refresh = request.cookies.get(‘refresh_token’) payload = verify_refresh_token(old_refresh) invalidate_refresh_token(old_refresh) # Rotation! new_access = create_access_token(payload[‘sub’]) new_refresh = create_refresh_token(payload[‘sub’]) response = JSONResponse({‘access_token’: new_access}) response.set_cookie(‘refresh_token’, new_refresh, httponly=True, secure=True, samesite=’strict’) return response

Wichtigste Erkenntnis

RS256, expliziter Algorithmus, kurze Ablaufzeit, Refresh-Token-Rotation. JWT ist eine Signatur, keine Verschlüsselung.

securityjwtautentizaceapi
Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.