diff --git a/data/common/common.yaml b/data/common/common.yaml
index a46bc0fc9f1e54b259080c57065a772ac4472648..98e769867f91bef04a32f704b08d8149ee9d2073 100644
--- a/data/common/common.yaml
+++ b/data/common/common.yaml
@@ -3106,6 +3106,12 @@ keycloak::resources::realms:
         protocol_mappers:
           - "%{alias('keycloak::resources::protocol_mappers::audience')}"
           - "%{alias('keycloak::resources::protocol_mappers::groups')}"
+      hedgedoc:
+        settings:
+          redirect_uris:
+            # Should match letsencrypt::certificates.hedgedoc.domains
+            - https://hedgedoc.softwareheritage.org/*
+          secret: "%{alias('keycloak::clients::hedgedoc::secret')}"
   SoftwareHeritageStaging:
     settings:
       display_name: Software Heritage (Staging)
diff --git a/site-modules/profile/manifests/keycloak/resources.pp b/site-modules/profile/manifests/keycloak/resources.pp
index 84caa91e2e5ec85d85336c0374dcd8fdf2442da3..3228f51d8128863cc4ee1d3e0977215f3b2124ea 100644
--- a/site-modules/profile/manifests/keycloak/resources.pp
+++ b/site-modules/profile/manifests/keycloak/resources.pp
@@ -66,6 +66,24 @@ class profile::keycloak::resources {
       }
     }
 
+    $client_scopes = pick($realm_data['client_scopes'], {})
+    $realm_client_scope_common_settings = deep_merge(
+      $client_scope_common_settings,
+      pick($realm_data['client_scope_settings'], {})
+    )
+    $client_scopes.each |$client_scope_name, $client_scope_data| {
+      $_local_client_scope_settings = pick($client_scope_data['settings'], {})
+      $_full_client_scope_settings = deep_merge($realm_client_scope_common_settings, $_local_client_scope_settings)
+
+      $client_scope_id = fqdn_uuid("${realm_name}.${client_scope_name}")
+
+      keycloak_client_scope {"${client_scope_name} on ${realm_name}":
+        ensure => present,
+        id => $client_scope_id,
+        *  => $_full_client_scope_settings,
+      }
+    }
+
     $clients = pick($realm_data['clients'], {})
     $realm_client_common_settings = deep_merge($client_common_settings,
                                                pick($realm_data['client_settings'], {}))