Skip to content

Releases: kzg-software/identity-provider

v1.13.0

Choose a tag to compare

@HydrAPI HydrAPI released this 08 Sep 17:01

Neu

Anwendungen und Provider getrennt. Die Verwaltung ist im Aufbau an Authentik angelehnt: was Benutzer im Portal sehen, steht unter Anwendungen, die technische Anmelde-Konfiguration unter Provider. Beides wird über eine Zuordnung verbunden.

  • Eine Anwendung kann jetzt auch ohne Provider existieren, etwa als reine Portal-Kachel, der später ein Provider zugewiesen wird.
  • Beim Anlegen einer Anwendung führt ein Assistent durch die Schritte: Anwendung, Provider (keiner / OAuth 2.0 · OpenID Connect / SAML 2.0), Konfiguration, Zusammenfassung. Selten benötigte Felder sind unter „Erweiterte Einstellungen" eingeklappt.
  • Anwendungen bearbeiten in Reitern: Allgemein, Provider, Zugriff, Darstellung (mit Icon-Upload und Sichtbarkeit Portal oder verborgen).
  • Provider bearbeiten in Reitern: Allgemein, Protokoll, Claims bzw. Attribute, Sicherheit, Token & Session, Erweitert. OAuth/OIDC und SAML stehen in einer gemeinsamen Liste, unterscheidbar über ein Kennzeichen.
  • Die Übersicht zeigt zu jeder Anwendung den zugeordneten Provider samt Typ und ob er aktiv und vollständig konfiguriert ist. Von dort springt man direkt zum Provider und wieder zurück.
  • Durchgehend Info-Symbole, Hilfetexte und Beispiele an den technischen Feldern (Redirect URI, Client Secret, PKCE, Scopes, Entity ID …), so wie bei der Installation.

Freigegebene Daten jederzeit änderbar. Welche Benutzerdaten ein Provider an eine Anwendung weitergibt, also die Scopes bei OpenID Connect, lässt sich jetzt auch nach dem Anlegen anpassen, im Reiter Claims. Nicht freigegebene Daten werden bei der Anmeldung weggelassen, auch wenn die Anwendung sie anfragt. Das Attribut-Mapping für SAML sitzt gleichwertig im Reiter Attribute. (#3)

Hinweise

  • Beim Update werden bestehende OAuth-Clients und SAML Service Provider automatisch in je einen Provider überführt und mit ihrer Anwendung verknüpft. Es ist nichts von Hand zu tun.
  • Die bisher im Hintergrund angelegten SAML-Anwendungen werden zu sichtbaren Anwendungen. Solche ohne Start-URL stehen auf „verborgen" und erscheinen nicht mehr als leere Kachel im Portal.
  • Die Adresse /admin/saml-service-providers leitet dauerhaft auf /admin/providers um.
  • Bestehende OAuth-2.0-, OpenID-Connect- und SAML-Abläufe bleiben unverändert.

Docker

docker pull ghcr.io/kzg-software/identity-provider:1.13.0

v1.12.0

Choose a tag to compare

@HydrAPI HydrAPI released this 06 Sep 13:09

Neu

Passkeys (WebAuthn / FIDO2). Melde dich mit einem Sicherheitsschlüssel, per Fingerabdruck oder mit der Geräte-PIN an, als zweiter Faktor oder ganz ohne Passwort. Einzurichten unter Profil, Sicherheit.

  • Passkey als zweiter Faktor nach dem Passwort und als passwortlose Anmeldung
  • die passwortlose Anmeldung ist getrennt für lokale und für Active-Directory-Konten schaltbar, für AD standardmäßig aus, da sie sonst das AD-Passwort umgeht
  • mehrere Passkeys pro Konto, jeweils benannt und einzeln entfernbar
  • gilt für lokale Konten und für Active-Directory-Konten

Authenticator-App (TOTP). Die zeitbasierten Einmalcodes sind jetzt vollständig nutzbar: Einrichtung mit QR-Code, gemeinsamer Bestätigungsschritt mit den Passkeys und ein gemeinsamer Satz Wiederherstellungscodes.

Zwei-Faktor in der Anmeldung. Nach dem Passwort folgt bei aktivem zweitem Faktor ein Bestätigungsschritt mit Passkey, Authenticator-Code oder Wiederherstellungscode. Erst danach ist man angemeldet.

Verwaltung.

  • neuer Bereich Sicherheit im Profilmenü, zusammen mit Meine Sitzungen
  • neue Schalter für die passwortlose Anmeldung im Abschnitt Sicherheit der Systemeinstellungen
  • Administration, Benutzer: den zweiten Faktor eines Kontos zurücksetzen oder einzelne Passkeys entfernen, falls jemand den Zugang verloren hat
  • neue Audit-Ereignisse für Registrierung, Anmeldung und Rücksetzung

Hinweise

  • Passkeys brauchen HTTPS und einen gleichbleibenden Hostnamen. Weicht die Relying Party ID vom Host in APP_URL ab, lässt sie sich über WEBAUTHN_RP_ID setzen.
  • Ein bereits angelegter, bisher ungenutzter Zwei-Faktor-Stand lokaler Konten wird beim Update automatisch in die neue Struktur übernommen.

Docker

docker pull ghcr.io/kzg-software/identity-provider:1.12.0

v1.11.0

Choose a tag to compare

@HydrAPI HydrAPI released this 03 Sep 20:49

Neu

Automatische Sicherungen. Das System erstellt jetzt selbst regelmäßig eine verschlüsselte Sicherung und lädt sie an ein Ziel hoch. Zu finden unter Administration, Datensicherung.

  • Ziel wahlweise lokales Verzeichnis, S3 (auch S3-kompatibel wie MinIO oder Wasabi), FTP oder SFTP
  • täglich oder wöchentlich, Uhrzeit frei wählbar
  • Aufbewahrungsregel: nur die jüngsten N Sicherungen behalten, ältere werden entfernt
  • Zugangsdaten und das Passwort der Sicherungsdateien werden verschlüsselt gespeichert
  • auf der Seite lassen sich die Verbindung testen und sofort eine Sicherung auslösen

Audit-Log: Export, Aufbewahrung, Weiterleitung.

  • die gefilterte Ansicht als CSV oder JSON herunterladen
  • Aufbewahrungsfrist in Tagen einstellbar, ältere Einträge werden nachts automatisch gelöscht
  • jedes Ereignis kann zusätzlich per Syslog (UDP oder TCP) an einen externen Empfänger gehen, etwa Graylog, Splunk, Wazuh oder rsyslog

Passwort-Richtlinie und Anmelde-Sperre einstellbar. Neuer Abschnitt Sicherheit in den Systemeinstellungen.

  • Mindestlänge sowie Groß- und Kleinbuchstaben, Ziffer und Sonderzeichen für lokale Konten
  • optionaler Abgleich gegen bekannte Datenlecks über die freie Pwned-Passwords-Datenbank, ohne API-Schlüssel
  • Anzahl der Fehlversuche bis zur Sperre und die Sperrdauer sind jetzt konfigurierbar, vorher waren sie fest eingestellt

Benutzer als CSV importieren und exportieren. Dazu Massenaktionen in der Benutzerliste: mehrere Konten auf einmal sperren, entsperren oder löschen. Der Import legt nur lokale Konten an oder aktualisiert sie, Verzeichnis-Konten bleiben unangetastet.

Deutsche Meldungen und Sprachauswahl. Validierungsmeldungen, zum Beispiel beim Setzen eines Passworts, erscheinen jetzt auf Deutsch. Die Sprache ist ein Auswahlfeld und zeigt nur Sprachen, für die Übersetzungen vorliegen.

Behoben und Sicherheit

  • SAML: die Ziel-Adresse aus einer Anmelde-Anfrage wird jetzt geprüft. Eine gefälschte, unsignierte Anfrage konnte bisher eine gültig signierte Assertion an einen fremden Endpunkt umleiten. Die angeforderte Assertion Consumer Service URL muss jetzt exakt der beim Service Provider hinterlegten entsprechen.
  • SAML: Logout-Anfragen werden bei Service Providern mit erforderlicher Signatur geprüft. Eine DOCTYPE-Deklaration in SAML-Nachrichten wird abgewiesen (Härtung gegen XXE und Entity-Expansion).
  • Branding-Uploads für Logo, Favicon und Login-Hintergrund akzeptieren kein SVG mehr, da eine SVG-Datei Skript enthalten und im Browser ausgeführt werden kann.
  • Datensicherung: Archiv-Einträge mit einem Pfad, der aus dem Zielverzeichnis ausbricht, werden vor dem Entpacken abgewiesen.
  • Der Installer entfernt Zeilenumbrüche aus eingegebenen Werten, bevor sie in die .env geschrieben werden.
  • Alle Abhängigkeiten aktualisiert, unter anderem Laravel 13.30 und PHPUnit 13. Der Sicherheits-Check meldet keine bekannten Lücken.

Docker

docker pull ghcr.io/kzg-software/identity-provider:1.11.0

v1.10.0

Choose a tag to compare

@HydrAPI HydrAPI released this 02 Sep 20:04

Neu

Adminbereich komplett überarbeitet. Alle Seiten der Administration folgen jetzt demselben Aufbau: ein Seitenkopf mit einer Zeile dazu, was die Seite tut, einheitliche Tabellen und Leerzustände, Zurück-Links auf den Detailseiten und eine nach Themen gruppierte Seitenleiste (Benutzer & Zugriff, Anwendungen, Schlüssel & Zertifikate, System).

  • Systemeinstellungen neu als Konsole mit Abschnittsnavigation (Allgemein, Erscheinungsbild, Bilder, Anmeldung, Wartung) und einer Live-Vorschau, die Farbe, Symbol und Anmeldetitel sofort zeigt.
  • Aktualisierungen neu: eine Statuskarte mit Versionsvergleich, dazu Changelog und Update-Anleitung immer sichtbar. Eine laufende Entwicklungsversion wird nicht mehr fälschlich als aktuell gemeldet.
  • Anwendungen und SAML Service Provider: die globale Schutzmodus-Sperre auf den Detailseiten ist weg, der Inhalt steht in klaren Abschnitten, das Löschen sitzt in einer eigenen Gefahrenzone am Seitenende.
  • Durchgehend Anrede per du in allen Erklärtexten.

Update-Prüfung alle 2 Stunden. Statt zweimal täglich prüft das System jetzt alle zwei Stunden auf ein neues Release.

Behoben

  • OIDC-Schlüssel und SAML-Zertifikate rotieren: Kann der Server keinen Schlüssel erzeugen (etwa wegen fehlender OpenSSL-Konfiguration), erscheint jetzt eine verständliche Meldung statt einer Fehlerseite. Die Rückfrage vor dem Rotieren läuft über ein Fenster statt über den Browser-Dialog.
  • Benutzer-Detailseite: ein kaputter Textbaustein beim Hinweis zu Administratorrechten ist behoben.
  • Benutzerliste: die Aktionen Anmelden als und Löschen sind aufgeräumt.

Docker

docker pull ghcr.io/kzg-software/identity-provider:1.10.0

v1.9.0

Choose a tag to compare

@HydrAPI HydrAPI released this 02 Sep 17:01

Neu

Abmelde-Endpunkt für OpenID Connect. Der im Discovery-Dokument angekündigte end_session_endpoint (/oauth/logout) ist jetzt umgesetzt. Anwendungen können Benutzer für eine RP-initiierte Abmeldung dorthin schicken.

  • akzeptiert id_token_hint, client_id, post_logout_redirect_uri und state
  • die Weiterleitung zur post_logout_redirect_uri erfolgt nur, wenn diese beim Client als Logout-URL hinterlegt ist, sonst geht es zurück zur Anmeldeseite
  • beendet die lokale Sitzung sauber, inklusive Eintrag unter „Meine Sitzungen"

Symbol anpassbar. Unter Administration → Systemeinstellungen lässt sich das kleine Zeichen im Kopfbereich und über dem Anmeldeformular einstellen:

  • Darstellung: Standard-Schild, Anfangsbuchstabe des Systemnamens oder ausblenden
  • Form: abgerundet, rund oder eckig
  • Live-Vorschau direkt in den Einstellungen
  • ein hochgeladenes Banner ersetzt das Symbol weiterhin

Systemeinstellungen aufgeräumt. Die Seite ist jetzt in verständliche Abschnitte gegliedert (Grunddaten, Aussehen, Windows-Anmeldung, Wartungsmodus, Bilder) mit kurzen Hilfetexten zu jedem Feld.

Ladeanzeige beim Anmelden. Der Anmelde-Button zeigt nach dem Klick einen Spinner mit „Anmeldung läuft …" und ist gegen Doppelklicks gesperrt.

Docker

docker pull ghcr.io/kzg-software/identity-provider:1.9.0

v1.8.0

Choose a tag to compare

@HydrAPI HydrAPI released this 02 Sep 14:33

Neu

Datensicherung. Neuer Bereich Administration, Datensicherung. Das gesamte System (Datenbank, Konfiguration und alle hochgeladenen Dateien) lässt sich in eine einzige, mit einem Passwort verschlüsselte .authbak Datei sichern und daraus wiederherstellen.

  • Erstellen und Wiederherstellen laufen über ein Modal mit Passwortprüfung (Passwort der Sicherung plus eigenes Kontopasswort)
  • Vor jeder Wiederherstellung wird der bisherige Stand automatisch als Rücksicherung weggelegt
  • Der Einrichtungs Assistent fragt jetzt zu Beginn: neu einrichten oder aus einer Sicherung wiederherstellen. Damit lässt sich das System 1:1 auf einem frischen Server aufbauen
  • SQLite wird per Dateikopie gesichert, MySQL und MariaDB als Tabellenexport. Ein Wechsel des Datenbanktyps über eine Sicherung ist nicht möglich

Einrichtungs Assistent überarbeitet. Klarere, kürzere Texte in allen Schritten, weniger Fachjargon, eine nummerierte Fortschrittsleiste mit Haken für erledigte Schritte.

Hoehere Upload Grenzen. Docker Image und deploy/install.sh erlauben jetzt Uploads bis 512 MB (vorher 20 MB), damit sich auch große Datensicherungen einspielen lassen.

Dokumentation neu geschrieben. README und docs/DEPLOYMENT.md einfacher und Docker zuerst, Schnellstart ohne kompletten Quellcode. Neu: docs/BACKUP.md (Datensicherung) und docs/INSTANZEN.md (umbenennen, Adresse ändern, mehrere Instanzen für Produktiv und Test).

Docker

docker pull ghcr.io/kzg-software/identity-provider:1.8.0

v1.7.0

Choose a tag to compare

@HydrAPI HydrAPI released this 01 Sep 21:19

Neu

Alle Frontend-Abhängigkeiten werden jetzt lokal ausgeliefert statt über ein CDN. Es gibt keine Requests mehr an cdn.tailwindcss.com, jsdelivr.net oder fonts.bunny.net - die Anwendung funktioniert damit auch komplett air-gapped.

  • Tailwind (Play-CDN-Build 3.4.16), Alpine.js 3.14.1 und die Schrift Figtree liegen in public/vendor/ und werden per asset() eingebunden
  • die SAML-Auto-Submit-Weiterleitungsseite nutzt ein paar Zeilen Inline-CSS statt Tailwind

Docker

docker pull ghcr.io/kzg-software/identity-provider:1.7.0

v1.6.0

Choose a tag to compare

@HydrAPI HydrAPI released this 01 Sep 20:38

Behoben / Neu

Administratoren aus Active Directory / LDAP. Bisher konnten nur lokale Konten Administrator sein, und ein Gruppen-zu-Rollen-Mapping auf admin blieb wirkungslos. Jetzt wird is_admin aus den Rollen abgeleitet:

  • ein Gruppen-Mapping auf die Rolle admin macht die Mitglieder zu Administratoren
  • zusätzlich pro Benutzer unter Administration → Benutzer an- und abschaltbar (bleibt bei der Synchronisierung erhalten)
  • der letzte lokale Break-Glass-Administrator kann nicht herabgestuft oder gelöscht werden

Getrennter Administrationsbereich. Die Systemverwaltung liegt jetzt unter /admin mit eigener Seitenleiste. / ist für alle das persönliche Portal (die freigegebenen Anwendungen), auch für Administratoren. Im Kopf gibt es einen Umschalter „Administration" / „Zum Portal"; nach dem Login landen Administratoren direkt in /admin.

Login-Seite bekommt einen dezenten Footer (Version und Link zum Quellcode).

Upgrade

Enthält eine Datenbank-Migration (users.manual_roles). Bestehende Administratoren werden übernommen. Bei Docker mit AUTO_MIGRATE=true läuft sie beim Start, sonst php artisan migrate --force.

Docker

docker pull ghcr.io/kzg-software/identity-provider:1.6.0

v1.5.0

Choose a tag to compare

@HydrAPI HydrAPI released this 01 Sep 20:03

Behoben / Neu

Der "Group DN" ist nur der Suchpfad für Gruppenobjekte und war nie ein Mitgliedschaftsfilter. Wer damit die Synchronisierung auf eine Gruppe beschränken wollte, bekam trotzdem alle Benutzer der OU.

Neues Feld "Anmeldung auf Gruppen beschränken" pro Verzeichnis (im Installer und unter Administration → Verzeichnisse). Ein Gruppen-DN oder CN pro Zeile. Ist etwas eingetragen, werden nur Benutzer synchronisiert und angemeldet, die – auch über verschachtelte Gruppen – Mitglied mindestens einer dieser Gruppen sind.

  • wirkt bei der vollen Synchronisierung, bei Windows-SSO, beim AD-Passwort-Login und bei /auth/negotiate
  • CN-Einträge werden im Gruppen-Suchbereich automatisch zum vollen DN aufgelöst
  • zusammen mit "Fehlende Benutzer: sperren/löschen" werden Nicht-Mitglieder beim nächsten vollen Sync wieder entfernt
  • die Hilfetexte am "Group DN" stellen den Unterschied jetzt klar; die Verzeichnisseite zeigt die aktiven Filtergruppen

Upgrade

Enthält eine Datenbank-Migration (login_group_filter). Bei Docker mit AUTO_MIGRATE=true läuft sie beim Start, sonst php artisan migrate --force.

Docker

docker pull ghcr.io/kzg-software/identity-provider:1.5.0

v1.4.1

Choose a tag to compare

@HydrAPI HydrAPI released this 01 Sep 19:23

Behoben

  • Die Datenbank-Migration aus 1.4.0 scheiterte auf MySQL und MariaDB ("Cannot drop index ... needed in a foreign key constraint"). Dadurch fehlten die neuen Spalten und die Seite Administration, Gruppen-zu-Rollen-Mapping antwortete mit Server Error 500. Die Migration entfernt jetzt zuerst den Fremdschlüssel und ist reversibel.

Auf 1.4.0 unter MySQL/MariaDB direkt auf diese Version aktualisieren, dann laufen die Migrationen sauber durch.

Docker

docker pull ghcr.io/kzg-software/identity-provider:1.4.1