1. Nutze immer PKCE
Der "Authorization Code Flow" sollte immer mit PKCE (Proof Key for Code Exchange) genutzt werden. Das verhindert Code-Injection Angriffe. Tuurio erzwingt PKCE für alle Public Clients (Mobile, SPA).
2. Token Storage (Frontend)
Wo speicherst du Access Tokens? LocalStorage ist bequem, aber anfällig für XSS.
| ✅ BFF Pattern | Backend-for-Frontend. Sicherste Wahl. Backend hält Tokens, Browser nutzt HttpOnly Cookies. |
| ⚠️ Session Storage | Besser als LocalStorage, da Daten beim Schließen des Tabs gelöscht werden. |
| ❌ LocalStorage | Dauerhaft lesbar für jedes Script auf deiner Seite. Nur für unkritische Daten. Wenn du LocalStorage nutzt, akzeptierst du XSS als vollständigen Account-Bypass. |
3. Redirect URIs
Sei so strikt wie möglich. Erlaube in den Client-Einstellungen niemals Wildcards oder unsichere URLs.
- ✅
https://myapp.com/callback - ✅
http://localhost:3000/callback(Nur Dev!) - ❌
https://myapp.com/*(Zu unsicher!)
4. Refresh Tokens & Sessions
„Access Tokens sind Wegwerfartikel. Sessions nicht.“
Tuurio ID implementiert strikte Sicherheitsmechanismen für langlebige Sessions:
- Rotation: Bei jeder Nutzung eines Refresh Tokens erhältst du ein neues Paar. Das alte wird sofort ungültig.
- Token Lifetimes: Standardmäßig sind Access Tokens 1 Stunde gültig, um das Fenster für Missbrauch klein zu halten.
- Versionierung: Bei einem Passwortwechsel oder globalen Logout werden alle bestehenden Tokens über eine interne Versionierung sofort entwertet.
5. Scopes vs. Permissions vs. Roles
Vermische niemals technische Autorisierung mit fachlichen Berechtigungen.
(z.B.
openid, vault:read)(Admin, Trainer, Mitglied)
(
MEMBER_EDIT, BILLING_VIEW)Tuurio ID empfiehlt: Nutze Rollen als Container für Permissions. In deiner App prüfst du immer auf die Permission, nie auf die Rolle.
6. Logout richtig machen
„Wenn dein User glaubt, er ist ausgeloggt, sollte er es auch sein.“
Ein lokaler Logout in deiner App beendet nicht die SSO-Session bei Tuurio ID. Nutze den OIDC RP-Initiated Logout:
- Deine App löscht lokale Tokens/Cookies.
- Redirect zum Tuurio Endpunkt
/connect/logout. - Tuurio beendet die SSO-Session und leitet zurück zu deiner
post_logout_redirect_uri.
7. Multi-Tenant Isolation
Tuurio ID nutzt eine „Wall of Silence“ Architektur für Mandanten:
- Eigener Issuer: Jeder Tenant agiert als logisch getrennter Auth-Server.
- Eigene Keys: Wir generieren pro Mandant einen eigenen RSA/EC-Keysatz zur Signierung der Tokens.
- Blast Radius: Sollte ein Key kompromittiert werden, sind andere Mandanten davon absolut nicht betroffen.
8. Logging & Incident Response
Im Falle eines Sicherheitsvorfalls ist Zeit der entscheidende Faktor. Tuurio ID liefert dir forensische Daten in Echtzeit, um Anomalien zu identifizieren und den "Blast Radius" einzuschränken.
Forensische Audit-Logs
Jedes sicherheitsrelevante Ereignis – vom erfolgreichen Login bis zum Export sensibler Notfalldaten – wird mit einem detaillierten Metadaten-Fingerabdruck gespeichert:
IP-Tracking
Wir protokollieren die Quell-IP jedes Requests. Dies ermöglicht es dir, "Impossible Travel" (Logins aus geografisch weit entfernten Orten in kurzer Zeit) oder Zugriffe aus bekannten Bot-Netzwerken sofort zu erkennen.
User-Agent Analyse
Die Identifikation des Browsers und Betriebssystems hilft dabei, Session-Hijacking zu entlarven. Ändert sich der User-Agent innerhalb einer aktiven Session, ist dies ein sofortiger Indikator für einen Angriff.
Was tun bei einer Kompromittierung?
Wenn du vermutest, dass ein Nutzerkonto oder ein Token kompromittiert wurde, bietet Tuurio ID drei sofortige Schutzmaßnahmen:
VAULT_EMERGENCY_EXPORT_GENERATED, um zu sehen, ob der Angreifer versucht hat, sensible Notfalldaten massenhaft abzugreifen.
Security Incident?
Hast du eine Schwachstelle gefunden oder wurde ein Token kompromittiert?
Security Incident meldenIncident Response Checklist
- Token im Admin-Dashboard revoken.
- Passwort des Nutzers zurücksetzen (entwertet alle Sessions).
- Audit-Logs nach verdächtigen IP-Adressen filtern.