Zum Inhalt

Authentifizierung

Login und Benutzerverwaltung in OpenLibry.

Übersicht

OpenLibry hat ein einfaches Authentifizierungssystem:

  • Ein oder mehrere Benutzer können sich anmelden
  • Alle angemeldeten Benutzer haben volle Rechte
  • Ohne Login ist OpenLibry komplett zugänglich (wenn deaktiviert)

Aktivieren/Deaktivieren

# In der .env-Datei
AUTH_ENABLED=true   # Login erforderlich
AUTH_ENABLED=false  # Kein Login nötig

Für den Produktivbetrieb

Im Produktivbetrieb sollte AUTH_ENABLED=true sein, besonders wenn OpenLibry aus dem Internet erreichbar ist.

Ersten Benutzer anlegen

Bei einer neuen Installation:

  1. Setze AUTH_ENABLED=false in der .env
  2. Starte OpenLibry neu
  3. Öffne /auth/register im Browser
  4. Erstelle einen Benutzer (Username + Passwort)
  5. Setze AUTH_ENABLED=true in der .env
  6. Starte OpenLibry neu

Weitere Benutzer anlegen

Aktuell können weitere Benutzer nur über den gleichen Weg angelegt werden:

  1. AUTH_ENABLED=false setzen
  2. Neu starten
  3. /auth/register öffnen
  4. Benutzer anlegen
  5. AUTH_ENABLED=true setzen
  6. Neu starten

Geplantes Feature

Eine Benutzerverwaltung im Admin-Bereich ist für zukünftige Versionen geplant.

NEXTAUTH_SECRET

Das NEXTAUTH_SECRET ist ein geheimer Schlüssel für die Session-Verwaltung:

NEXTAUTH_SECRET=einLangerZufälligerString123!

Wichtig: - Verwende einen langen, zufälligen String - Ändere ihn nicht nachträglich (loggt alle Benutzer aus) - Halte ihn geheim

Secret generieren

# Zufälliges Secret generieren
openssl rand -base64 32

Passwort vergessen?

Es gibt aktuell keine "Passwort vergessen"-Funktion. Alternativen:

Option 1: Neuen Benutzer anlegen

  1. AUTH_ENABLED=false setzen
  2. Neuen Benutzer unter /auth/register anlegen
  3. AUTH_ENABLED=true setzen

Option 2: Datenbank bearbeiten (für Experten)

Die Benutzer werden in der SQLite-Datenbank gespeichert. Mit einem SQLite-Browser kannst du:

  • Passwort zurücksetzen
  • Benutzer löschen

Session-Dauer

Sessions sind standardmäßig langlebig. Du wirst nicht automatisch ausgeloggt. Man kann sich mit dem Klick auf den Ausloggen Button auch manuell ausloggen.

Sicherheitstipps

  1. Starke Passwörter verwenden
  2. HTTPS nutzen (siehe nginx-Installation)
  3. NEXTAUTH_SECRET sicher aufbewahren
  4. Bei Verdacht auf Kompromittierung: NEXTAUTH_SECRET ändern

Nächste Schritte