Closed richardjubla closed 3 months ago
Interner Hinweis: Aktuell (vor PR66) werden die Gruppen/Rollen der Profile nicht an Nextcloud übergeben. Alle jubla.db-Profile erhalten jeweils die Gruppe "Everyone" zugeteilt. Bestehende oder geänderte Gruppen für einen User werden überschrieben. Damit kann eine NC-Instanz für "alle jubla.db User" genutzt werden. Beispiel: Dokumente/Organisation von öffentlichen Inhalten. Wir sollten herausfinden/wissen wann einem NC-User eine neue User-Name (ID) erstellt und zugeteilt wird. (Bei einem OAuth-Login bekommt das jubla.db Profil einen NC Username in Form einer ID. Besipiel: 079563c6c4164cf6a415c2b403a8a73560a541077a9caa9ad1b858ead9a62cf7 )
Hi @richardjubla Mir ist dies auch aufgefallen. Ich habe kurz einen Test gemacht. Ich merke, dass die Gruppenzuordnungen gelöscht werden, wenn man sich neu in die Nextcloud einloggt.
Dass die Nextcloud-Gruppenzuordnungen gelöscht werden ist scheinbar absichtlich so programmiert im Nextcloud user_oidc Plugin: https://github.com/nextcloud/user_oidc/blob/main/lib/Service/ProvisioningService.php#L348
Das macht ja eigentlich aus Berechtigungs-Sicht auch Sinn, da ich automatisch aus der Nextcloud-Gruppe gekickt werden sollte wenn ich die entsprechende Rolle in hitobito verliere. Nur ist es problematisch, wenn ihr neben den hitobito-kontrollierten Nextcloud-Gruppen noch weitere Nextcloud-Gruppen (wie euer "admin" im Screenshot) vergebt.
Der Ansatz der mit dem user_oidc Plugin aktuell möglich ist, ist "alles oder nichts". Ein Weg wäre es also, dass ihr die Mitgliedschaft in der "admin"-Nextcloud-Gruppe auch durch irgendein Rollen-Mapping in hitobito steuert. Wenn das keine Option ist, müsste das user_oidc Plugin angepasst werden, sodass man z.B. dort einstellen kann, welche Nextcloud-Gruppen vom user_oidc Plugin nicht angefasst werden dürfen.
Ich sehe aktuell zwei Punkte, welche (am besten) im user_oidc Plugin umgesetzt werden müssen:
Ich werde dazu mal Issues in user_oidc erstellen um mit den Entwicklern zu sehen, ob wir so etwas machen können. Ich könnte auch die Implementierung übernehmen.
Der Pull Request https://github.com/hitobito/hitobito_jubla/pull/66 ist auf der Stage-Umgebung angekommen und wird von uns getestet. Erster Eindruck ist gut. Gruppen werden nun in die Nextcloud-Instanz übertragen.
Schliesse Story: Definition of Done wurde erfolgreich umgesetzt. (Anleitung für Scharen vorhanden, aber noch nicht öffentlich)
User-Story
Folgt auf die vorgängige #52 Nextcloud-Verbindung auf Ebene
Als Schar (Ebene/Gruppe) möchte ich meinen verwalteten Profilen (Mitgliedern) kollaborativ nutzbaren Speicherplatz und Dokumentablage/Dokumentbearbeitung mit einer eigenen Nextcloud-Instanz von einem beliebigen Hoster ohne technisches Expertenwissen ermöglichen. Schar (Ebene/Gruppe) kann die Nextcloud-Instanz in der jubla.db Eintragen und damit können sich alle in der Gruppe verwalteten Menschen (Mitglieder) direkt in Nextcloud anmelden und haben dort die jeweils gültigen Berechtigungen (Rollen) aus der jubla.db.
Aspekte
Definition of Done
Es ist geklärt ob und wie Hitobito/OAuth steuern kann, dass sich "nur" Profile aus der eigenen Gruppe direkt bei Nextcloud anmelden können