Files
Hosting-Backoffice/decisions/0006-auth-strategy.md
T
2026-05-18 04:37:23 +00:00

1.9 KiB

ADR 0006 — Auth-Strategie

Status

Accepted

Kurz erklärt

Auth bedeutet Authentifizierung und Autorisierung.

Authentifizierung beantwortet:

Wer bist du?

Autorisierung beantwortet:

Was darfst du?

Kontext

Das System benötigt mehrere Zugriffstypen:

  • Admin-Login
  • Mitarbeiter-Login
  • Kundenlogin später
  • API-Zugriffe
  • Integrationen
  • später WordPress-Plugin

Das Architekturreview hat kritisiert, dass „Tokenbasiert, später OAuth/Sanctum“ zu unscharf ist.

Entscheidung

V1 verwendet Laravel Sanctum als Auth-Basis.

Sanctum wird genutzt für:

  • Admin-/Backoffice-Login
  • interne API
  • Personal Access Tokens für technische Clients
  • spätere einfache API-Zugriffe

OAuth2/Passport wird nicht in V1 eingeführt.

Warum Sanctum?

Sanctum ist für V1 passend, weil:

  • es Laravel-nah ist
  • wenig Overhead erzeugt
  • API-Tokens unterstützt
  • SPA-/Frontend-Sessions unterstützt
  • für ein kleines V1-Team einfacher beherrschbar ist

OAuth2 später

OAuth2 kann später relevant werden für:

  • Drittanbieter-Apps
  • öffentliches Plugin-Ökosystem
  • externe Entwickler
  • komplexere WordPress-Plugin-Szenarien

Rechteprüfung

Auth allein reicht nicht.

Jeder Zugriff benötigt zusätzlich:

  • Tenant-Kontext
  • Rollenprüfung
  • Policy-Prüfung
  • Auditierbarkeit bei kritischen Aktionen

MFA

MFA bedeutet Multi-Faktor-Authentifizierung.

Für V1 gilt:

  • MFA für Superadmins empfohlen
  • MFA für normale Kunden optional später
  • WebAuthn kann später geprüft werden

Konsequenzen

Positiv

  • einfacher Einstieg
  • Laravel-nah
  • gut für V1
  • weniger Komplexität

Negativ

  • für öffentliche Drittanbieter-Ökosysteme später eventuell nicht ausreichend
  • OAuth2 muss ggf. später zusätzlich eingeführt werden

Verwandte ADRs

  • ADR 0004 — Tenancy-Modell
  • ADR 0012 — Frontend-Strategie
  • ADR 0018 — WordPress-Plugin-Security