diff --git a/Readme.md b/Readme.md index fdc1136..bfaa03a 100644 --- a/Readme.md +++ b/Readme.md @@ -20,15 +20,44 @@ Im Moment baut das Projekt nur auf die folgenden Laufzeit-Bibliotheken auf: Im Moment haben diese Bibliotheken keine weiteren (transitiven) Anhängigkeiten, so dass das Projekt nicht durch eine Kaskade von Libraries aufgeblasen wird. Das Ermöglicht es, dass die compilierte JAR-Datei weniger als 1,5 MB groß ist! +## Motivation + +Natürlich gibt es freie Implementierungen des OIDC-Protokolls. +Der Platzhirsch auf dem Open-Source-Markt dürfte wohl [Keycloak] sein. +Allerdings ist Keykloak alles andere als einfach zu konfigurieren und dürfte wohl für viele Nutzer deutlich mehr Features als Ballast mitbringen, als eigentlich benötigt werden. + +Deshalb war das Ziel hier: + +* kein [Feature-Creep](https://datei.wiki/definition/die-grundlagen-des-feature-creep/) +* kein NodeJS – und damit keine Dependency-Hölle +* Platformunabhängig dank Java +* erweiterbar +* verschlüsselte Datenbank + ## bauen Dies ist ein Gradle-Project. Um es zu compilieren brauchen Sie ein aktuelles Java-Development-Kit. Das Projekt kann durch Aufruf von `./gradlew build` in einem Terminal innerhalb des Wurzelverzeichnisses gebaut werden. -## Datenbank-Unterstützung +## Backends + +Im Main-Branch ist kein Datenbank-Backend enthalten. +Alle Einstellungen werden in einer JSON-Datei gespeichert, wobei eine Verschlüsselung einfach konfiguriert werden kann. +Dieses Setup sollte für kleine und mittlere Instanzen reichen. + +### Datenbank-Unterstützung Um das Projekt klein zu halten ist im _main_-Branch kein Datenbank-Support eingebaut. Es gibt aber einen separaten Branch, der die Benutzung von SQLite-Datenbanken untersützt: [sqlite] + +Die Anbindung an andere Datenbanksysteme ist möglich, im Moment aber noch nicht implementiert. + +### andere Backends + +Aufgrund der Architektur des OIDC-Providers sollte es jederzeit möglich sein weitere Backends, wie z.B. LDAP anzubinden. +Dies ist aber im Moment noch nicht implementiert – und wird wohl erst auf Nachfrage implementiert werden. + +