Skip to main content
Architecture11 min read

Authentifizierung ist schwieriger als man denkt

Ich habe Auth in vier verschiedenen Projekten implementiert. Jedes Mal dachte ich, es würde 2 Tage dauern. Jedes Mal dauerte es 2 Wochen. Hier ist der Grund und was ich anders machen würde.

Part ofCloud & Infrastructure->
By Jason TeixeiraDecember 28, 2025
AuthenticationSecuritySupabaseJWTArchitecture
Share:
On this page

Jeder Projektplan, den ich je geschrieben habe, enthielt einen Punkt: "Authentifizierung — 2 Tage."

Jedes Projekt-Retrospective hatte eine Notiz: "Auth hat 2 Wochen gedauert."

Ich habe Auth-Systeme jetzt 4 Mal gebaut. Jedes Mal unterschätze ich es. Hier ist der Grund und was ich endlich gelernt habe.

Der Eisberg

Was du denkst, was Auth ist:

  • Login-Formular
  • Token speichern
  • Prüfen, ob Token gültig ist
  • Fertig

Was Auth tatsächlich ist:

  • Login-Formular (E-Mail/Passwort + OAuth + Magic Links + MFA?)
  • Passwort-Hashing (bcrypt, argon2, welcher Kostenfaktor?)
  • Session-Management (JWT vs. Session-Cookie vs. beides?)
  • Token-Refresh (stilles Refresh, Rotation, Widerruf)
  • CSRF-Schutz (Same-Site-Cookies, Double-Submit-Token)
  • Ratenbegrenzung (beim Login, bei Registrierung, beim Passwort-Reset)
  • Passwort-Reset-Ablauf (Token-Generierung, Ablauf, Einmalverwendung)
  • E-Mail-Verifizierung (Token, erneuter Versand, was wenn E-Mail geändert wird?)
  • Kontosperrung (wie viele Versuche? Wie läuft die Entsperrung?)
  • Rollenbasierte Zugriffskontrolle (Admin vs. Benutzer vs. Moderator)
  • API-Key-Verwaltung (für programmatischen Zugriff)
  • Session-Invalidierung bei Passwortänderung
  • "Angemeldet bleiben" vs. "Nur diese Sitzung"
  • Benachrichtigung bei Login von neuem Gerät
  • Audit-Logging (wer hat sich wann von wo angemeldet)

Das sind 15+ Funktionen. Bei 1-2 Tagen pro Stück bist du bei einem Monat.

Was ich jetzt mache: Supabase Auth verwenden und erweitern

Nachdem ich zweimal benutzerdefiniertes Auth gebaut und beide Male mein Leben gehasst habe, starte ich jetzt mit Supabase Auth (oder Clerk, oder Auth.js). Es übernimmt:

  • E-Mail/Passwort mit bcrypt
  • OAuth-Anbieter (Google, GitHub, Discord)
  • JWT-Tokens mit Refresh
  • E-Mail-Verifizierung
  • Passwort-Reset
  • Session-Management
  • Ratenbegrenzung

Das sind 80% von Auth, erledigt von Leuten, die sich hauptberuflich mit Auth beschäftigen. Ich konzentriere mich auf die 20%, die für meine App spezifisch sind:

\\

Reader route

article -> proof -> offer

ReadClusterProofScope

cluster

Cloud & Infrastructure

intent

Architecture

route

next step

What to do with this

Turn the note into a build path.

If this topic maps to a real business problem, keep reading the cluster, study the academy path, or route the work into a scoped engagement.

Jason Teixeira
Written by
Jason Teixeira
Founder, Sage Ideas Studio · Principal Engineer
livebuild 5d6c8652026-08-05 06:00Z
// solo studio// no analytics resold// every commit human-reviewed