• Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Authentifizierung mittels OAuth2

    ChurchTools Schnittstellen
    24
    69
    12.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      simsa @gregorherr
      last edited by

      Als Workaround hab ich mir ein Docker Image erstellt, dass ein OIDC mit Church Tools Social Login ermöglicht.

      https://hub.docker.com/r/zendem/sociallogin-to-openidconnect

      Die App verbindet sich dann gegen diesen Docker Container mit OIDC, der sich dann wieder zu Church Tools verbindet.

      Beispiel Docker Compose

      services:
        sociallogintoopenid:
          image: zendem/sociallogin-to-openidconnect:latest
          environment:
            - OAUTH_SOCIAL_LOGIN_CLIENT_ID=secretFromOauthSociaLogin
            - OAUTH_SOCIAL_LOGIN_SECRET=randomString123
            - OAUTH_SOCIAL_LOGIN_REDIRECTURI=https://openid-church.example.org/login/oauth2/code/custom-client
            - OAUTH_SOCIAL_LOGIN_AUTHORIZATION_URI=https://yourchurch.church.tools/oauth/authorize
            - OAUTH_SOCIAL_LOGIN_TOKEN_URI=https://yourchurch.church.tools/oauth/access_token
            - OAUTH_SOCIAL_LOGIN_USER_INFO_URI=https://yourchurch.church.tools/oauth/userinfo
            - OPENID_ISSUER=https://openid-church.example.org
            - OPENID_CLIENT_ID=oidc-client
            - OPENID_CLIENT_SECRET=topSecret123
            - OPENID_REDIRECT_URI=https://yourapp.example.org/oauth2/callback
          ports:
            - "8080:8080"
          restart: unless-stopped
      
      davidschillingD 1 Reply Last reply Reply Quote 0
      • davidschillingD
        davidschilling ChurchToolsMitarbeiter @simsa
        last edited by davidschilling

        @simsa cool, hast du den Code dazu auch öffentlich?

        S 1 Reply Last reply Reply Quote 0
        • S
          simsa @davidschilling
          last edited by

          @davidschilling aktuell ist der noch nicht öffentlich.

          Muss das noch etwas bereinigen. Hab das für unsere Gemeinde intern entwickelt.

          Wenn es für Church Tools hilft, dass dadurch schneller OIDC nativ kommt, kann ich das evtl beschleunigen :-).

          ckauhausC 1 Reply Last reply Reply Quote 1
          • ckauhausC
            ckauhaus @simsa
            last edited by

            @simsa Ja bitte 🙂

            Der Code muss auch nicht perfekt sein. Wenn er erst einmal auf GitLab/GitHub/... ist, können andere auch mithelfen und PRs einsteuern.

            S 1 Reply Last reply Reply Quote 0
            • S
              simsa @ckauhaus
              last edited by

              Hab es hier mal veröffentlicht

              https://github.com/canchanchara/sociallogin-to-openidconnect/

              MichaelGM 1 Reply Last reply Reply Quote 0
              • MichaelGM
                MichaelG @simsa
                last edited by

                @simsa sagte in Authentifizierung mittels OAuth2:

                Hab es hier mal veröffentlicht

                https://github.com/canchanchara/sociallogin-to-openidconnect/

                Vielen Dank!

                Ich würde das gerne mit EntraID nutzen (spricht nur OpenID).

                Könntest du mir helfen, wo ich was eintragen muss?

                1. Welche Redirect URI muss ich bei CT eintragen, wenn der Proxy dazwischen ist?

                2. Mir ist noch nicht ganz klar, was in deiner Config an diese Stellen muss:

                  • OAUTH_SOCIAL_LOGIN_SECRET= -> hier denke ich mir was aus, aber an welcher Stelle kommt das zum Einsatz? Bei Add OpenID von MS?
                  • OAUTH_SOCIAL_LOGIN_REDIRECTURI=/login/oauth2/code/custom-client -> Hier hab ich die Doku so verstanden, dass dies die Subdomain ist, unter der der Docker öffentlich erreichbar ist? Und wieder: Wo trage ich das dann ein? Bei CT, bei Entra?
                  • OPENID_SUB=email -> das verstehe ich so, dass hier das Mapping zwischen ChurchTools und Entra stattfindet und Email eine gute Wahl wäre?
                  • OPENID_ISSUER= -> Hier hätte ich die gleiche Subdomain wie oben genommen, wo der Docker drauf läuft?
                  • OPENID_CLIENT_ID= hier erfindet ich was und trage es dann bei Add Open ID bei MS ein?
                  • OPENID_CLIENT_SECRET=das gleich auch hier?
                  • OPENID_REDIRECT_URI= Was kommt hier rein? Und wo muss ich das wieder eintragen?
                3. Was kommt in die einzelnen Felder beim Bild rein? Also bei der Anlage von OpenID auf MS Seite?

                4e05cfa8-d45a-479b-9b28-cab35b6a386f-CleanShot 2025-07-24 at 13.04.31.png /Users/mgoth/Documents/CleanShot/CleanShot 2025-07-24 at 13.04.31.png

                Vielen Dank für jede Hilfe.

                Installation bei CT -> immer neueste Version

                S 1 Reply Last reply Reply Quote 0
                • S
                  simsa @MichaelG
                  last edited by

                  @MichaelG

                  Welche Redirect URI muss ich bei CT eintragen, wenn der Proxy dazwischen ist?

                  Die URL wo der Docker Container deployed ist. Ich empfehle das ganze durch ein caddy Reverse Proxy mit https zu deployen.

                  https://sociallogin-to-oidc.deinedomain.de/login/oauth2/code/custom-client
                  

                  OAUTH_SOCIAL_LOGIN_SECRET= -> hier denke ich mir was aus, aber an welcher Stelle kommt das zum Einsatz? Bei Add OpenID von MS?

                  Das kommt zum Einsatz wenn sociallogin-to-openidconnect zum Church Tools Account weiterleitet

                  OAUTH_SOCIAL_LOGIN_REDIRECTURI=/login/oauth2/code/custom-client -> Hier hab ich die Doku so verstanden, dass dies die Subdomain ist, unter der der Docker öffentlich erreichbar ist? Und wieder: Wo trage ich das dann ein? Bei CT, bei Entra?

                  Ja das ist die URL unter der der Docker Container erreichbar ist. Die gleiche Url wie bei der ersten Frage (https://sociallogin-to-oidc.deinedomain.de/login/oauth2/code/custom-client)

                  OPENID_SUB=email -> das verstehe ich so, dass hier das Mapping zwischen ChurchTools und Entra stattfindet und Email eine gute Wahl wäre?

                  Das ist der Nutzername der am Ende in "sub" bei OpenID Connect steht. Mit diesem Nutzernamen matched man dann zwischen Church Tool sud zb. Entra.
                  Man kann hier wählen zwischen e-mail, nutzernamen oder der church tools id

                  OPENID_ISSUER= -> Hier hätte ich die gleiche Subdomain wie oben genommen, wo der Docker drauf läuft?

                  Genau, nur die Domain, in meinem Beispiel jetzt
                  https://sociallogin-to-oidc.deinedomain.de

                  OPENID_CLIENT_ID= hier erfindet ich was und trage es dann bei Add Open ID bei MS ein?
                  ja genau

                  OPENID_CLIENT_SECRET=das gleich auch hier?
                  ja genau

                  OPENID_REDIRECT_URI= Was kommt hier rein? Und wo muss ich das wieder eintragen?
                  Da wirst du hingeleitet, wenn der Login erfolgreich war.

                  zu 3:

                  well-known: https://sociallogin-to-oidc.deinedomain.de/.well-known/openid-configuration

                  Issuer URI: https://sociallogin-to-oidc.deinedomain.de

                  Client ID: Die ID die du selbst vergeben hast
                  secret: was du selsbt vergeben hast

                  scope: openid profile email

                  S MichaelGM 2 Replies Last reply Reply Quote 0
                  • S
                    simsa @simsa
                    last edited by simsa

                    Hab jetzt mal noch Version 0.0.1 veröffentlicht, damit man für ein produkiven Betrieb nicht von einem latest Tag Update überrascht wird.

                    1 Reply Last reply Reply Quote 0
                    • MichaelGM
                      MichaelG @simsa
                      last edited by

                      @simsa Hab vielen Dank! Wir werden es so ausprobieren.

                      Installation bei CT -> immer neueste Version

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post