Keycloak OpenID Connect - Custom Storage Provider für Church Tools
-
Da das LDAP von Church Tools nicht mit allen Systemen zurecht kommt, habe ich einen kleinen Prototypen für Keycloak entwickelt, der die Church Tools REST API nutzt und ein "Custom Storage Provider" in Keycloak bereitstellt (https://www.keycloak.org/docs/latest/server_admin/index.html#_user-storage-federation).
Dadurch ist es möglich, sich per OpenID Connect in dritten Systemen mit dem Church Tools Account anzumelden, zb. Synology, Wordpress, Nextcloud und co.
Das github Projekt dazu ist hier zu finden: https://github.com/canchanchara/keycloak-churchtools-storage-provider
Ich konnte mich damit erfolgreich bei einem Drittsystem mit OpenID Connect einloggen.
Es ist aber dennoch ein Prototyp und muss noch ggf. für einen produktiven Betrieb erweitert werden.
Zudem muss man Keycloak selbst betreiben. -
@simsa
Richtig nices Projekt!Wie authentifizierst du dich gegen die CT Instanz?
Unterstützt deine Lösung auch TOTP?
-
@narnitz
Ich nutze die REST API von Church Tools und den /login Endpunkt um sich zu authentifizieren.TOTP kann es derzeit nicht.
-
@simsa
Okay, heißt du checkst einfach ob der /login mit einem 200er durch geht? -
@narnitz sagte in Keycloak OpenID Connect - Custom Storage Provider für Church Tools:
@simsa
Okay, heißt du checkst einfach ob der /login mit einem 200er durch geht?Ja genau.
-
@simsa Das ist spannend, ich hatte mir schon Gedanken dazu gemacht, um allenfalls eine direkte Nextcloud Integration zu machen.
Für uns wäre die Gruppenzugehörigkeit (und Funktion innerhalb der Gruppe) wichtig.
Also dass die Leitung der Gruppe XY zusätzliche Recht in Nextcloud erhält.Wie ist das bei deiner OIDC Integration geplant?
Werden da Rollen+Gruppen auch abgebildet? -
@aschild
Man munkelt das das OAuth Thema gerade in Arbeit istWann es released wird, kann ich jedoch noch nicht sagen.
-
@narnitz sagte in Keycloak OpenID Connect - Custom Storage Provider für Church Tools:
@aschild
Man munkelt das das OAuth Thema gerade in Arbeit istWann es released wird, kann ich jedoch noch nicht sagen.
-
Hab mich heute mit TOTP beschäftigt und auch dazu ein kleines Prototyp Durchstich Projekt in github erstellt.
https://github.com/canchanchara/keycloak-churchtools-totp-provider
Zusammen mit dem oben genannten jar kann man sich mit Keycloak in Church Tools per OpenID Connect einloggen und das TOTP eingeben, sofern der User eins hinterlegt hat.
Würde mich aber auch freuen, wenn das bald auch nativ von Church Tools bereitgestellt wird.
-
@simsa da wird vermutlich bald was kommen, aber so das CT als Oauth-Provider agiert. Wenn CT das GemeindeTool ist, dann ist das auch sinnvoll.
-
Wir haben Keycloak mit dem Plugin von @simsa jetzt seit gut 6 Wochen produktiv im Einsatz:
- Nextcloud via user_oidc
- WordPress via OAuth Single Sign On - SSO (OAuth Client)
- Korga (E-Mail-Verteiler-Erweiterung für ChurchTools)
Das Format des
sub
Claim von Keycloak mit Doppelpunkten macht die Einrichtung hier und da etwas schwierig, aber mit der richtigen Konfiguration läuft es seitdem einwandfrei.Weil Keycloak auf einem anderen Origin als ChurchTools läuft und damit de facto eine Man-in-the-Middle-Attacke wie eine Phishing Seite ausführt, bekommen Nutzer nur vom Apple Schlüsselbund kein Passwort oder das falsche Passwort vorgeschlagen und müssen es manuell auswählen. Das ist sicherlich keine tolle Lösung, aber für uns akzeptabel, bis ChurchTools irgendwann selbst OpenID Connect einführt.