Authentifizierung
Authentifizierung überprüft, wer Sie sind, bevor Zugriff auf Aptli gewährt wird. Dieser Abschnitt behandelt Anmeldemethoden, Kontosicherheit, E-Mail-Validierung und OAuth-Anbieter-Einrichtung.
Aktive Anmeldemethoden
Anmeldeseite zeigt verfügbare Authentifizierungsmethoden einschließlich OAuth-Anbietern
Konfigurieren Sie, welche Authentifizierungsmethoden verfügbar sind:
Benutzername/Passwort (Standard):
- E-Mail + Passwort-Kombination
- Passwortanforderungen: mindestens 8 Zeichen, Komplexitätsregeln
- Automatische Abmeldung nach Inaktivität (konfigurierbar, Standard 1 Tag)
OAuth-Anbieter:
- GitHub OAuth
- Google OAuth
- Zusätzliche Anbieter konfigurierbar (Support kontaktieren)
Konfiguration: Navigieren Sie zu App-Einstellungen → Authentifizierung → Aktive Anmeldemethoden
- Mindestens eine Methode muss aktiviert sein
- Mehrere Methoden können gleichzeitig aktiv sein
- Benutzer wählen bevorzugte Methode am Anmeldebildschirm
Zwei-Faktor-Authentifizierung (2FA)
Benutzerprofil zeigt 2FA-Einstellungen und Sicherheitskonfiguration
2FA aktivieren:
- Navigieren Sie zum Benutzerprofil
- Klicken Sie auf "Zwei-Faktor-Authentifizierung aktivieren"
- Scannen Sie den QR-Code mit der Authenticator-App (Google Authenticator, Authy, etc.)
- Geben Sie den 6-stelligen Code zur Bestätigung ein
- Speichern Sie die Wiederherstellungscodes (falls Telefon verloren)
Anmeldung mit 2FA:
- Geben Sie E-Mail und Passwort ein (oder OAuth)
- System fordert 6-stelligen Code an
- Öffnen Sie die Authenticator-App
- Geben Sie den aktuellen Code ein (erneuert sich alle 30 Sekunden)
- Zugriff gewährt
Wiederherstellungscodes:
- 10 einmal verwendbare Codes generiert bei 2FA-Einrichtung
- Sicher speichern (Passwort-Manager, gedruckte Kopie)
- Verwenden, wenn Authenticator nicht verfügbar
- Jeder Code einmal gültig
2FA deaktivieren:
- Navigieren Sie zum Benutzerprofil
- Klicken Sie auf "Zwei-Faktor-Authentifizierung deaktivieren"
- Geben Sie den aktuellen 6-stelligen Code ein (oder Wiederherstellungscode)
- Deaktivierung bestätigen
Benutzer ohne 2FA erkennen
Admin-Ansicht:
- Navigieren Sie zu Admin → Benutzer
- Spalte hinzufügen: "2FA Aktiviert" (boolean)
- Filtern: "2FA Aktiviert = false"
- Liste für Nachverfolgung exportieren
Durchsetzung: App-Einstellungen → Authentifizierung → 2FA erforderlich
- Aktivieren, um alle Benutzer zur Einrichtung von 2FA zu zwingen
- Kulanzzeit konfigurierbar (z.B. 30 Tage)
- Nach Kulanzzeit können Benutzer sich nicht ohne 2FA anmelden
Benachrichtigungskampagne:
- Massen-E-Mail an Benutzer ohne 2FA
- Einrichtungsanweisungen einschließen
- Sicherheitsvorteile betonen
- Frist für Compliance setzen
OAuth-Anbieter-Einrichtung
GitHub OAuth
GitHub OAuth-App erstellen:
- Gehen Sie zu GitHub-Einstellungen → Entwicklereinstellungen → OAuth-Apps
- Klicken Sie auf "Neue OAuth-App"
- Anwendungsname: "Aptli"
- Homepage-URL:
https://your-domain.com - Autorisierung-Callback-URL:
https://your-domain.com/api/auth/github/callback - Klicken Sie auf "Anwendung registrieren"
- Client-ID und Client-Secret kopieren
Aptli konfigurieren:
- Zu
.envhinzufügen:NUXT_OAUTH_GITHUB_CLIENT_ID=your_client_id NUXT_OAUTH_GITHUB_CLIENT_SECRET=your_client_secret - Server neu starten
- Test: Anmeldeseite zeigt "Mit GitHub anmelden"-Schaltfläche
Google OAuth
Google OAuth-App erstellen:
- Gehen Sie zu Google Cloud Console → APIs & Dienste → Anmeldedaten
- Klicken Sie auf "Anmeldedaten erstellen" → OAuth-Client-ID
- Anwendungstyp: Webanwendung
- Name: "Aptli"
- Autorisierte Weiterleitungs-URIs:
https://your-domain.com/api/auth/google/callback - Klicken Sie auf "Erstellen"
- Client-ID und Client-Secret kopieren
Aptli konfigurieren:
- Zu
.envhinzufügen:NUXT_OAUTH_GOOGLE_CLIENT_ID=your_client_id.apps.googleusercontent.com NUXT_OAUTH_GOOGLE_CLIENT_SECRET=your_client_secret - Server neu starten
- Test: Anmeldeseite zeigt "Mit Google anmelden"-Schaltfläche
OAuth zu Benutzerkonto hinzufügen
Für bestehende Benutzername/Passwort-Benutzer:
- Mit E-Mail und Passwort anmelden
- Zum Benutzerprofil navigieren
- Auf "OAuth-Konto verknüpfen" klicken
- Anbieter wählen (GitHub oder Google)
- Bei Anbieter autorisieren
- OAuth-Konto verknüpft (kann sich jetzt mit beiden Methoden anmelden)
Für neue Benutzer:
- Erste Anmeldung mit OAuth erstellt Konto automatisch
- E-Mail vom OAuth-Anbieter muss in erlaubten Domains sein
- Konto erstellt mit OAuth-only-Anmeldung (kein Passwort gesetzt)
- Kann Passwort später vom Profil hinzufügen
E-Mail-Validierung
Neuer Benutzer-Ablauf:
- Benutzer meldet sich an (oder Admin erstellt Konto)
- Validierungs-E-Mail an Benutzer-E-Mail-Adresse gesendet
- E-Mail enthält 10-Minuten-Ablauf-Token
- Benutzer klickt Link in E-Mail
- Konto validiert (kann sich jetzt anmelden)
Validierung erforderlich:
- Kann sich nicht anmelden (jede Methode), bis E-Mail validiert
- Einschließlich OAuth-Benutzer (E-Mail muss validiert werden, auch wenn Anbieter verifiziert)
Validierungs-E-Mail erneut senden: Admin kann vom Benutzerprofil erneut senden:
- Navigieren Sie zu Admin → Benutzer
- Benutzerprofil öffnen
- Auf "Validierungs-E-Mail erneut senden" klicken
- Neuer 10-Minuten-Token gesendet
Manuelle Validierung:
Admin mit usersUpdate kann manuell validieren:
- Zum Benutzerprofil navigieren
- "E-Mail validiert"-Datum auf aktuelles Datum setzen
- Speichern (Benutzer kann sich jetzt anmelden)
Anmeldungssicherheit
Max. Anmeldeversuche:
- Standard: 5 fehlgeschlagene Versuche
- Konfigurierbar in App-Einstellungen
- Nach max. Versuchen: Konto hard locked
- Entsperren erfordert Admin mit
usersUpdate-Berechtigung
Hard Lock:
- Konto kann sich nicht anmelden (jede Methode)
- Sichtbar im Benutzerprofil: "Hard Lock"-Badge
- Entsperren: Admin klickt "Konto entsperren"-Aktion
- Zurücksetzen: Fehlgeschlagene Versuche-Zähler auf 0 zurückgesetzt
Sitzungsablauf:
- Automatische Abmeldung: Inaktivitäts-Timeout (Standard 1 Tag)
- Lesen oder Schreiben von Daten setzt Countdown zurück
- Konfigurierbar pro App-Einstellungen
- CSRF-Token-Ablauf: Server-Sitzungs-Timeout (Standard 1 Woche)
- Erzwingt erneute Anmeldung unabhängig von Aktivität
- Sicherheitsmaßnahme für lang laufende Sitzungen
- Sitzungsablauf: Absoluter max. Sitzungsdauer (Standard 1 Woche)
- Verhindert unbegrenzte Sitzungen
Einzelne aktive Sitzung:
- Aptli erlaubt jeweils nur eine aktive Sitzung pro Konto
- Eine Anmeldung auf einem neuen Gerät meldet Sie von anderen Geräten ab
- Sie sehen einen Hinweis und werden auf dem abgemeldeten Gerät zur erneuten Anmeldung aufgefordert
- Zwei Tabs oder Fenster im selben Browserprofil teilen sich eine Sitzung — sie melden sich nicht gegenseitig ab
Zwangsabmeldung
Admin-Aktion:
- Navigieren Sie zu Admin → Benutzer
- Benutzerprofil öffnen
- Aktionen → Zwangsabmeldung
- Benutzer-Sitzung sofort beendet
- Benutzer muss sich erneut anmelden
Anwendungsfälle:
- Sicherheitsvorfall (kompromittiertes Konto)
- Benutzer ließ Sitzung auf öffentlichem Computer offen
- Administrative Sperre (ausstehende Untersuchung)
Fehlerbehebung bei Anmeldung
Benutzer kann Konto nicht finden
Überprüfen:
- Navigieren Sie zu Admin → Benutzer
- Nach E-Mail filtern (Groß-/Kleinschreibung beachten)
- Wenn nicht gefunden: Konto wurde möglicherweise gelöscht
- Klicken Sie auf "Gelöschte anzeigen"-Schaltfläche (erfordert
viewDeleted-Berechtigung) - Wenn in gelöschten gefunden: Wiederherstellen (erfordert
usersCreate-Berechtigung)
Hard Lock
Überprüfen:
- Zum Benutzerprofil navigieren
- Nach "Hard Lock"-Badge suchen
- Wenn vorhanden: Auf "Konto entsperren" klicken (erfordert
usersUpdate-Berechtigung) - Benutzer kann sich jetzt anmelden
E-Mail nicht validiert
Überprüfen:
- Zum Benutzerprofil navigieren
- "E-Mail validiert"-Feld sollte Datum haben
- Wenn leer: Validierungs-E-Mail erneut senden ODER Datum manuell setzen
- Benutzer kann sich ohne Validierung nicht über irgendeine Methode anmelden
Schlechte Domain
Überprüfen:
- Navigieren Sie zu App-Einstellungen → Authentifizierung
- "Erlaubte Domains"-Liste
- Überprüfen Sie, ob Benutzer-E-Mail-Domain enthalten ist
- Wenn fehlend: Domain hinzufügen ODER Konto manuell erstellen (umgeht Domain-Überprüfung)
OAuth funktioniert nicht
Überprüfen:
- Überprüfen Sie, ob Umgebungsvariablen gesetzt sind (CLIENT_ID, CLIENT_SECRET)
- Überprüfen Sie, ob Callback-URL mit Anbieterkonfiguration übereinstimmt
- Test: Abmelden, auf "Mit Anbieter anmelden" klicken
- Fehlermeldungen in Browser-Konsole
- Anbieter-Dashboard auf Auth-Versuche überprüfen
Passwort zurücksetzen
Benutzer-initiiert:
- Auf "Passwort vergessen" auf Anmeldeseite klicken
- E-Mail-Adresse eingeben
- Zurücksetzungs-E-Mail gesendet (10-Minuten-Token)
- Link in E-Mail klicken
- Neues Passwort eingeben
- Passwort zurückgesetzt (kann sich jetzt anmelden)
Admin-initiiert:
Admin mit usersUpdate kann zurücksetzen:
- Zum Benutzerprofil navigieren
- Aktionen → Passwort zurücksetzen
- Temporäres Passwort generiert
- E-Mail an Benutzer mit temp. Passwort gesendet
- Benutzer muss Passwort bei erster Anmeldung ändern
Beste Praktiken
2FA aktivieren:
- Für alle Admin-Konten erforderlich
- Für alle Benutzer empfehlen
- Compliance-Frist setzen
OAuth wann möglich verwenden:
- Reduziert Passwort-Ermüdung
- Nutzt Anbieter-Sicherheit
- Einfachere Kontowiederherstellung
Fehlgeschlagene Anmeldungen überwachen:
- Hard locked Konten wöchentlich überprüfen
- Muster von Sperren = Passwort-Rate-Angriff
- 2FA-Durchsetzung aktivieren
Regelmäßiger Sitzungsablauf:
- Inaktivitäts-Timeout nicht zu lang setzen (24 Stunden vernünftig)
- CSRF-Ablauf verhindert unbegrenzte Sitzungen
- Balance zwischen Sicherheit und Benutzerfreundlichkeit
Erlaubte Domains:
- Liste eng halten (nur Org-Domains)
- Externe Auftragnehmer = manuell erstellen (Domain-Überprüfung umgehen)
- Quartalsweise überprüfen (nicht verwendete Domains entfernen)