Fähigkeiten auth-implementation-patterns
🔐

auth-implementation-patterns

Sicher

Implementierung sicherer Authentifizierungssysteme

Auch verfügbar von: wshobson

Erlernen Sie erprobte Authentifizierungs- und Autorisierungsmuster, um sichere Zugriffskontrolle in Ihren Anwendungen zu implementieren, ohne das Rad neu zu erfinden.

Unterstützt: Claude Codex Code(CC)
🥉 72 Bronze
1

Die Skill-ZIP herunterladen

2

In Claude hochladen

Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen

3

Einschalten und loslegen

Teste es

Verwendung von "auth-implementation-patterns". Wie implementiere ich JWT-Authentifizierung in Express?

Erwartetes Ergebnis:

Eine vollständige JWT-Implementierung umfasst: 1) Token mit jwt.sign() mit Secrets aus Umgebungsvariablen generieren, 2) Authentifizierungs-Middleware erstellen, die Bearer-Token verifiziert, 3) Kurzlebige Access-Token (15 Min) mit längeren Refresh-Token (7 Tage) verwenden, 4) Refresh-Token gehasht in der Datenbank speichern. Siehe implementation-playbook.md Pattern 1 für vollständigen Code.

Verwendung von "auth-implementation-patterns". Was ist der Unterschied zwischen Session- und tokenbasierter Authentifizierung?

Erwartetes Ergebnis:

Sessionbasiert: Server speichert Status, Session-ID im Cookie, einfach aber erfordert Sticky Sessions. Tokenbasiert (JWT): Zustandslos, selbstenthaltene Claims, horizontal skalierbar, aber einzelne Token können nicht einfach widerrufen werden. Wählen Sie Sessions für traditionelle Apps, JWT für APIs und Microservices.

Verwendung von "auth-implementation-patterns". Wie implementiere ich rollenbasierte Autorisierung?

Erwartetes Ergebnis:

Definieren Sie Rollen in einem Enum (USER, MODERATOR, ADMIN), erstellen Sie ein Rollen-Hierarchie-Mapping, bauen Sie requireRole()-Middleware, die die Benutzerrolle gegen erlaubte Rollen prüft, wenden Sie Middleware auf geschützte Routen an. Beispiel: app.delete('/users/:id', authenticate, requireRole('ADMIN'), handler)

Sicherheitsaudit

Sicher
v1 • 2/24/2026

Educational documentation skill containing authentication and authorization code patterns. All 67 static findings are false positives: backticks are markdown code fences, environment variable access demonstrates proper secret handling, and weak crypto mentions are in cautionary context. No actual security risks present.

2
Gescannte Dateien
661
Analysierte Zeilen
0
befunde
1
Gesamtzahl Audits
Keine Sicherheitsprobleme gefunden
Auditiert von: claude

Qualitätsbewertung

38
Architektur
100
Wartbarkeit
87
Inhalt
30
Community
100
Sicherheit
100
Spezifikationskonformität

Was du bauen kannst

JWT-Authentifizierung von Grund auf erstellen

Implementierung vollständiger tokenbasierter Authentifizierung mit Access-Token, Refresh-Token und ordnungsgemäßem Secret-Management

OAuth2 Social Login hinzufügen

Integration von Google und GitHub OAuth2-Authentifizierung in bestehende Anwendungen

Autorisierungsmodell entwerfen

Erstellung von RBAC- oder permissionsbasierter Zugriffskontrollsysteme für Anwendungsressourcen

Probiere diese Prompts

Basis-JWT-Setup
Zeigen Sie mir, wie man JWT-Authentifizierung in Node.js mit Express implementiert, einschließlich Token-Generierung und Verifizierungs-Middleware
Refresh-Token-Ablauf
Erstellen Sie einen Refresh-Token-Ablauf, der Refresh-Token sicher in einer Datenbank speichert und neue Access-Token ausstellt
OAuth2-Integration
Implementieren Sie Google OAuth2-Login mit Passport.js mit JWT-Token-Generierung nach der Authentifizierung
RBAC-Autorisierung
Entwerfen Sie ein rollenbasiertes Zugriffskontrollsystem mit Admin-, Moderator- und Benutzer-Rollen, einschließlich Middleware für Berechtigungsprüfungen

Bewährte Verfahren

  • Verwenden Sie immer Umgebungsvariablen für Secrets (JWT_SECRET, SESSION_SECRET), hardcodieren Sie niemals Zugangsdaten
  • Verwenden Sie kurzlebige Access-Token (15-30 Minuten) mit separaten Refresh-Token für bessere Sicherheit
  • Speichern Sie Refresh-Token gehasht in der Datenbank und implementieren Sie Token-Rotation bei Verwendung

Vermeiden

  • Speichern von JWT in localStorage setzt Tokens XSS-Angriffen aus - verwenden Sie stattdessen httpOnly-Cookies
  • Nicht-Validierung der Token-Ablaufzeit ermöglicht unbegrenzte Verwendung abgelaufener Token
  • Clientseitige Autorisierungsprüfungen können umgangen werden - immer serverseitig validieren

Häufig gestellte Fragen

Wann sollte ich sessionbasierte vs. tokenbasierte Authentifizierung verwenden?
Verwenden Sie Sessions für traditionelle servergerenderte Apps, bei denen Sie einfaches Logout und CSRF-Schutz benötigen. Verwenden Sie Token (JWT) für SPAs, mobile Apps und Microservices, bei denen Sie zustandslose Authentifizierung und domänenübergreifende Anfragen benötigen.
Wie speichere ich JWT-Secrets sicher?
Hardcodieren Sie niemals Secrets im Quellcode. Verwenden Sie Umgebungsvariablen (process.env.JWT_SECRET) und laden Sie diese zur Laufzeit aus .env-Dateien. Stellen Sie sicher, dass .env in .gitignore enthalten ist und Secrets in der Produktion aus sicheren Quellen injiziert werden.
Was ist der Unterschied zwischen Authentifizierung und Autorisierung?
Authentifizierung (AuthN) verifiziert, WER ein Benutzer ist (Login mit Zugangsdaten). Autorisierung (AuthZ) bestimmt, WAS ein Benutzer tun DARF (Berechtigungen, Rollen). Beide sind unerlässlich, erfüllen aber unterschiedliche Zwecke in der Zugriffskontrolle.
Wie implementiere ich Refresh-Token sicher?
Generieren Sie Refresh-Token als zufällige UUIDs, speichern Sie gehashte Versionen in der Datenbank, setzen Sie Ablaufzeit (7-30 Tage), implementieren Sie Rotation (neue Refresh bei jeder Verwendung ausstellen) und ermöglichen Sie Widerruf für Logout oder Sicherheitsereignisse.
Können JWT-Token widerrufen werden?
JWTs sind per Design zustandslos. Zum Widerrufen: verwenden Sie eine Token-Sperrliste in Redis/Datenbank, implementieren Sie kurze Ablaufzeiten, damit Token natürlich ablaufen, oder verwenden Sie Refresh-Token-Rotation, um alte Token-Paare zu ungültig zu machen.
Was ist die beste Methode zur Passwort-Speicherung?
Hashen Sie Passwörter immer mit bcrypt oder argon2 mit hohen Work-Faktoren (bcrypt cost 10-12). Speichern Sie niemals Klartext-Passwörter. Verwenden Sie Salt automatisch von bcrypt bereitgestellt. Verifizieren Sie mit bcrypt.compare().