Dieses Tutorial erklärt dir, wie du deine eigene Nextcloud so konfigurierst, dass du dich mit dem ChurchTools-Login als OAuth-Server in der Nextcloud anmelden kannst. Dabei werden Gruppen- und, wenn gewünscht, Gruppenrollen-Informationen übernommen. Du kannst in ChurchTools über die Rechteverwaltung definieren, wer sich in der Nextcloud anmelden darf.
Mehr Details zur Konfiguration von OAuth findest du auf unserer Hilfeseite OAuth zwischen zwei ChurchTools-Systemen und den dort verlinkten Seiten.
1. Nextcloud als OAuth-Client eintragen #
Der erste Schritt ist, die Nextcloud als OAuth-Client in den System-Einstellungen zu hinterlegen. Öffne dazu über das Verwaltungsmenü (1) die System-Einstellungen (2). In der Seitenleiste findest du im Abschnitt Allgemein den Eintrag Login (3). Hier kannst du einen neuen OAuth-Client (4) hinzufügen.

Als Name wählst du am besten den Namen des Drittsystems, in diesem Fall also „Nextcloud“. Dieser Name wird auch später den Nutzern angezeigt, um klarzumachen, in welchem System sie sich gerade anzumelden versuchen.

ChurchTools erstellt nun die notwendigen Verbindungsdaten für die Anbindung des NextCloud-Clients. In unserem Screenshot siehst du die URL unseres ChurchTools-Systems https://beispiel.church.tools. In deinem System wird entsprechend die URL deines ChurchTools angezeigt.

Die Redirect-URI musst du über die Schaltfläche Redirect-URI hinzufügen. Sie sieht wie folgt aus: https://nextcloud.example.com/apps/sociallogin/custom_oauth2/ChurchTools
Tausche nextcloud.example.com mit deiner eigenen URL aus, unter der die Nextcloud läuft.
Der letzte Teil ChurchTools ist der Provider-Name, den du gleich selbst in der Nextcloud wählen kannst. Wenn du dieser Anleitung folgst, musst du nur die Domain ändern und kannst den Namen „ChurchTools“ stehen lassen.
2. „Social Login“-App aktivieren #
Für den OAuth-Login benötigst du die Nextcloud-App „Social Login“. Als Administrator der Nextcloud kannst du neue Apps über das App-Menü finden und hinzufügen.

3. „Custom OAuth2“-Profil eintragen #
Nun kannst du als Admin unter „Verwaltung“ (Administration) den Social-Login konfigurieren und einrichten. Dazu legst du ein „Custom OAuth2″-Profil an (1) und füllst die Werte mit den Links aus, die ChurchTools in Schritt 1 bereitgestellt hat.

Fülle nun die Felder aus:
- Internal name: Name, der auch in der Redirect-URI verwendet wird.
- Title: Name des Profils, der auch beim Nextcloud-Login angezeigt wird.
- API Base URL, Authorization URL, Token URL, Profile URL und Client ID: Diese Felder werden von ChurchTools erstellt und in den System-Einstellungen beim OAuth-Client angezeigt (siehe Screenshot oben).
- Client Secret: Wähle hier eine zufällige Zeichenkette aus.

Nun ist alles eingestellt und die Nutzer eures ChurchTools können sich in der Nextcloud anmelden.
Ganz oben auf der Seite findest du einige Checkboxen. Es steht dir frei, das auszuwählen, was für euch sinnvoll ist. Wir empfehlen allerdings, folgende Haken zu setzen:
- Das Benutzerprofil bei jeder Anmeldung aktualisieren
- Gruppen automatisch erstellen, wenn sie nicht vorhanden sind (siehe letzter Punkt dieser Anleitung)

4. ChurchTools-Berechtigungen vergeben #
Als Super-Admin wirst du dich bereits einloggen können. Aber nicht immer ist es gewollt, dass jeder ChurchTools-Nutzer auch einen Login bei der Nextcloud haben soll. Daher benötigen ChurchTools-Nutzer die globale Berechtigung, sich beim Drittsystem einzuloggen: Bei Drittsystem via ChurchTools-Benutzerkonto einloggen (login to external system)

5. Gruppen oder Gruppenrollen synchronisieren #
Es ist möglich, Gruppenzugehörigkeiten aus ChurchTools zur Nextcloud zu übertragen und zu speichern. Es gibt zwei Möglichkeiten, dies zu nutzen. Egal welchen Weg du wählst, die Gruppen oder Gruppenrollen werden von ChurchTools an das Drittsystem übertragen. Die Nextcloud nimmt diese Daten und ordnet das Profil den entsprechenden Gruppen zu.
Falls „Gruppen automatisch erstellen, wenn sie nicht vorhanden sind“ aktiviert ist, dann wird eine Gruppe neu erstellt und das Profil zugeordnet. Wenn diese Option nicht aktiv ist, kannst du die Gruppen in der Nextcloud manuell anlegen, falls nicht alle ChurchTools-Gruppen benötigt werden. Nur der Name muss gleich sein.
Gruppen übertragen #
Damit Gruppen übertragen werden (egal welcher Rolle), muss beim OAuth2-Profil unter „groups claim“ noch groups eingetragen werden.

Gruppen in der Nextcloud haben folgendes Schema: <OAuth-internal-name>-<Gruppename>. Zum Beispiel „ChurchTools-Gemeindeleitung“.
Gruppen und Rollen übertragen #
Damit Rollen übertragen werden, muss beim OAuth2-Profil unter „groups claim“ noch roles eingetragen werden.

Gruppen in der Nextcloud haben folgendes Schema:<OAuth-internal-name>-<Gruppename>_<Rolle>. Zum Beispiel „ChurchTools-Gemeindeleitung_Leiter“.