Stephan Richter
9f3500dd8f
|
3 weeks ago | |
---|---|---|
config | 2 months ago | |
de.srsoftware.oidc.api | 2 months ago | |
de.srsoftware.oidc.app | 1 month 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.web | 1 month ago | |
gradle/wrapper | 9 months ago | |
.gitignore | 9 months ago | |
Dockerfile | 1 month ago | |
Readme.md | 3 weeks ago | |
build.gradle.kts | 2 months ago | |
gradlew | 9 months ago | |
gradlew.bat | 9 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 Moment haben diese Bibliotheken keine weiteren (transitiven) Anhängigkeiten, so dass das Projekt nicht durch eine Kaskade von Libraries aufgeblasen wird. 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.
At the time of writing, these libraries have no further transitive dependencies, thus mitigating any bloat from the project. 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! |