From cb643ad228a5863f9916e020ae8ed27250ead229 Mon Sep 17 00:00:00 2001
From: Christian Elberfeld <6413499+elberfeld@users.noreply.github.com>
Date: Thu, 26 Sep 2024 00:11:32 +0200
Subject: [PATCH] Gruppenanbindung Paperless

---
 testserver/docker_paperless/tasks/main.yml    |  8 +++++
 .../templates/docker-compose.yml              | 29 +++++++++++++++++--
 2 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/testserver/docker_paperless/tasks/main.yml b/testserver/docker_paperless/tasks/main.yml
index c45ac065..d662bfe5 100644
--- a/testserver/docker_paperless/tasks/main.yml
+++ b/testserver/docker_paperless/tasks/main.yml
@@ -35,6 +35,14 @@
   register: config
 
 
+# Clone extension fpr group mapping 
+- name: Clone Git repository with specific tag
+  git:
+    repo: https://git.ch-sv.de/cheitkamp/django-allauth-sso-groups.git
+    dest: "{{ basedir }}/django-allauth-sso-groups/"
+    version: 'v0.1.0'
+
+
 # Start containers
 - name: "stop {{ servicename }} docker"
   community.docker.docker_compose_v2:
diff --git a/testserver/docker_paperless/templates/docker-compose.yml b/testserver/docker_paperless/templates/docker-compose.yml
index 1a93b2e2..fd8fd2c0 100644
--- a/testserver/docker_paperless/templates/docker-compose.yml
+++ b/testserver/docker_paperless/templates/docker-compose.yml
@@ -29,6 +29,7 @@ services:
       - db
       - broker
     volumes:
+      - "{{ basedir }}/django-allauth-sso-groups/src/allauth_sso_groups:/usr/src/paperless/src/allauth_sso_groups:ro"
       - "{{ basedir }}/data:/usr/src/paperless/data"
       - "{{ basedir }}/media:/usr/src/paperless/media:z"
       - "{{ basedir }}/consume:/usr/src/paperless/consume"
@@ -56,8 +57,30 @@ services:
       PAPERLESS_FILENAME_FORMAT: "{correspondent}/{created_year}/{created_year}-{created_month}-{created_day}_{correspondent}_{document_type}_{title}"
       PAPERLESS_ADMIN_USER: paperlessadmin
       PAPERLESS_ADMIN_PASSWORD: {{ paperless_admin_pass }}
-      PAPERLESS_APPS: "allauth.socialaccount.providers.openid_connect"
-      PAPERLESS_SOCIALACCOUNT_PROVIDERS: '{"openid_connect": {"APPS": [{"provider_id": "uffd","name": "uffd","client_id": "{{ servicename }}","secret": "{{ openid_client_secret }}","settings": { "server_url": "{{ oidc_global.provider_url }}/.well-known/openid-configuration"}}]}}'      
+      PAPERLESS_APPS: "allauth.socialaccount.providers.openid_connect,allauth_sso_groups"
+      PAPERLESS_SOCIALACCOUNT_PROVIDERS: |
+        {
+          "openid_connect": {
+            "SCOPE": [
+              "openid",
+              "profile",
+              "email",
+              "groups"
+            ],
+            "APPS": [
+              {
+                "provider_id": "uffd",
+                "name": "uffd",
+                "client_id": "{{ servicename }}",
+                "secret": "{{ openid_client_secret }}",
+                "settings": {
+                  "server_url": "{{ oidc_global.provider_url }}/.well-known/openid-configuration"
+                }
+              }
+            ]
+          }
+        }      
+
       PAPERLESS_SOCIAL_AUTO_SIGNUP: True
       PAPERLESS_SOCIAL_AUTO_SIGNUPS: True
       PAPERLESS_ACCOUNT_ALLOW_SIGNUPS: False
@@ -68,7 +91,7 @@ services:
       #PAPERLESS_EMAIL_HOST: "mail.test-warpzone.de"
       #PAPERLESS_EMAIL_PORT: 587
       #PAPERLESS_EMAIL_HOST_USER: "noreply-paperless@test-warpzone.de"
-      #PAPERLESS_EMAIL_HOST_PASSWORD: "{{ paperless_mail_pass }}"
+      #PAPERLESS_EMAIL_HOST_PASSWORD: "{ { paperless_mail_pass } }"
       #PAPERLESS_EMAIL_FROM: "noreply-paperless@test-warpzone.de"
       #PAPERLESS_EMAIL_USE_TLS: True
     healthcheck:
-- 
GitLab