Zugriff und Authentifizierung
UnyPort verwendet ein kompaktes Authentifizierungsmodell mit lokalen Benutzern, JWT-Cookies und CSRF-Schutz. Die Anwendung unterstützt außerdem OAuth-Login über GitHub und GitLab, wenn die Provider-Einstellungen vollstaendig konfiguriert sind.
Lokale Benutzer und Bootstrap
Die primaere Identitaetsquelle ist settings/users.json.
Wichtiges Verhalten:
- Wenn
users.jsonfehlt, legtUnyPorteinen ersten Admin an - Die angelegte E-Mail ist
demo@unyport.app - Das Passwort kommt aus
UNYPORT_ADMIN_PASSWORDoder fällt auf den eingebauten Standard zurück - Das Repository bringt in seiner Quellstruktur zusätzlich einen Demo-Benutzer für Evaluation mit
Damit sind Deployment-Pfad und Repository-Evaluationspfad verwandt, aber nicht identisch.
Rollen
Drei Rollen werden vom Backend akzeptiert:
adminoperatorviewer
Ihre operative Bedeutung:
viewer: Authentifizierte Nur-Lese-Nutzungoperator: Authentifizierte Nutzung mit Routine-Schreibaktionen wie Profil- und Passwortänderungadmin: Voller Zugriff inklusive Benutzer- und Branding-Administration
In der aktuellen UI können Viewer das Portal lesen, aber keine Profil- oder Passwortänderungen speichern.
OAuth-Provider
OAuth ist für folgende Provider implementiert:
- GitHub
- GitLab
Die Provider-Deklarationen stehen in settings/config.yaml. Platzhalterwerte werden absichtlich ignoriert, daher wird OAuth erst aktiv, wenn echte client_id, client_secret und redirect_url gesetzt sind.
Sitzungsmodell
Nach erfolgreicher Authentifizierung gibt UnyPort ein JWT-Cookie aus:
- Signiert mit
security.jwt_secret - Gespeichert als HTTP-only-Cookie
- Vom
https-Schalter für Secure-Cookie-Verhalten beeinflusst - Zeitlich begrenzt über
security_extra.session_timeout_mins
CSRF, Rate Limit und Trusted Origins
Die Anwendung erzwingt außerdem:
- CSRF-Schutz mit eigenem Endpoint
/api/csrf - Login-Rate-Limit, standardmaessig
5Versuche pro Minute - Trusted-Origin-Prüfung für zustandsändernde Requests
Wenn trusted_origins leer ist, berechnet UnyPort eine Standardliste aus aktiven lokalen Interfaces auf Port 8800.
Admin-Aktionen
Admin-exklusive Schreibaktionen sind aktuell:
- Benutzer anlegen
- Rollen ändern
- Benutzer loeschen außer dem eigenen Konto
- Instanz-Branding aktualisieren oder zurücksetzen
Damit bleibt Administration explizit und klein gehalten.