|
2 months ago | |
---|---|---|
config | 4 months ago | |
de.srsoftware.oidc.api | 2 months ago | |
de.srsoftware.oidc.app | 2 months ago | |
de.srsoftware.oidc.backend | 2 months ago | |
de.srsoftware.oidc.datastore.encrypted | 2 months ago | |
de.srsoftware.oidc.datastore.file | 2 months ago | |
de.srsoftware.oidc.datastore.sqlite | 2 months ago | |
de.srsoftware.oidc.web | 2 months ago | |
gradle/wrapper | 11 months ago | |
.gitignore | 11 months ago | |
Dockerfile | 4 months ago | |
Readme.md | 2 months ago | |
build.gradle.kts | 2 months ago | |
gradlew | 11 months ago | |
gradlew.bat | 11 months ago | |
settings.gradle.kts | 2 months ago |
Readme.md
LightOIDC
Deutsch | English |
---|---|
LightOIDC ist ein Spezifikations-treuer OpenID-Connect-Provider mit minimalem Fußabdruck. Im Gegensatz zum Main-Branch, der keine DB-Abhängigkeiten enthält, bietet dieser Branch Support für einen SQLite-Datenspeicher. Leider werden durch die SQLite-Bibliothek weitere Transitive Abhängigkeiten eingebunden, die das JAR ein wenig aufblähen. MotivationNatü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:
bauenDies ist ein Gradle-Project. Um es zu compilieren brauchen Sie ein aktuelles Java-Development-Kit. BackendsIm 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ützungUm 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 BackendsAufgrund 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. |
This aims to be a specification compliant OpenID connect provider with minimal footprint. While the main branch does not contain any dependencies for database support, this branch does allow storing data in an SQLite database. Unfortunately the SQLite library also draws in some additional dependencies, which – to a certain extend – increases the size of the compiled JAR archive. MotivationOf course, there are plenty other implementations of the OIDC protocol. The most well-known open source OIDC provider might be Keycloak. However, that piece of software called Keycloak is really heavy duty, hard to configure and bloated with features the most users won`t need. Thus, the goal for LightOIDC was:
buildThis is a gradle project. To compile it, you should have a recent version of a Java Development Kit installed. backendsIn the main branch, there ist no database backend. Alle preferences and data are stored in a JSON file, allowing for easy encryption of data. This setup should be fine for small and medium instances. database supportIn order to achieve a minimal footprint, no database support is incorporated in the main branch. However, there is SQLite support in a separate branch: [sqlite] Utilizing other databases should be possible, but has not been implemented, yet. other backendsLightOIDCs architecture shout allow integration other backends, like LDAP, without a hazzle. However, this is not implemented yet – work will have to be done on demand! |