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

97 lines
1.9 KiB
Markdown

# ADR 0006 — Auth-Strategie
## Status
Accepted
## Kurz erklärt
Auth bedeutet Authentifizierung und Autorisierung.
Authentifizierung beantwortet:
```text
Wer bist du?
```
Autorisierung beantwortet:
```text
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