Modifié par Aurelie Bertrand le 2026/04/22 10:19

Afficher les derniers auteurs
1 {{toc/}}
2
3 ----
4
5 Lorsqu'un dashboard DigDash est intégré dans une page web hébergée sur un serveur différent, le navigateur bloque les requêtes par mesure de sécurité.
6
7 Afin d'autoriser l'affichage de portlets ou de tableaux de bord sur un domaine tiers, il est nécessaire d'effectuer les configurations suivantes.
8
9 (% class="box infomessage" %)
10 (((
11 **ℹ** Toutes les étapes ci-dessous doivent être réalisées sur le serveur source qui héberge les portlets ou les tableaux de bord DigDash, (ex: mydashboard.com). Le site qui affiche les portlets ou les tableaux de bord (ex: mywebsite.com) n'a besoin d'aucune configuration particulière, si ce n'est d'être correctement listé dans les autorisations du serveur source.
12 )))
13
14 = Configuration du Serveur Web (Nginx) =
15
16 Cette étape permet au navigateur d'accepter les réponses provenant du serveur DigDash distant (site hébergeant le dashboard) :
17
18 == Définition des domaines autorisés ==
19
20 Dans le fichier de configuration Nginx du site hébergeant le dashboard, utilisez un bloc map pour lister les origines de confiance. Ce bloc doit être placé avant le bloc server {} ou au début de votre fichier de configuration.
21
22 {{code language="nginx"}}
23 map $http_origin $cors_origin {
24 default "";
25 "https://mywebsite.com" $http_origin;
26 "https://mydashboard.com" $http_origin;
27 }
28 {{/code}}
29
30 == Ajout des Headers de sécurité ==
31
32 Dans le bloc server {} de votre site hébergeant le tableau, ajoutez les instructions suivantes pour autoriser l'accès et gérer les cookies :
33
34 {{code language="nginx"}}
35 # 1. Autorisation de l'origine dynamique
36 add_header Access-Control-Allow-Origin $cors_origin always;
37 add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" always;
38 add_header Access-Control-Allow-Headers "Content-Type, Authorization, x-gwt-module-base, x-gwt-permutation, x-requested-with" always;
39 add_header Access-Control-Allow-Credentials "true" always;
40
41 # 2. Gestion des cookies en mode embarqué
42 location / {
43 proxy_cookie_path / "/; Secure; SameSite=None;";
44 }
45 {{/code}}
46
47 (% class="box infomessage" %)
48 (((
49 💡 Pour que l'intégration fonctionne, le serveur source DigDash (qui fournit les portlets ou tableaux de bord) doit être accessible en HTTPS.
50 )))
51
52 == Redémarrage du service ==
53
54 Pour prendre en compte les modifications, vérifiez la configuration et rechargez Nginx :
55
56 {{code language="shell"}}
57 sudo nginx -t
58 sudo service nginx reload
59 {{/code}}
60
61 = Configuration DigDash =
62
63 Après avoir configuré le serveur Nginx, vous devez définir les URLs autorisées au sein de l'application pour valider la protection contre les attaques CSRF.
64
65 1. Éditez le fichier **/etc/digdash/digdash.properties**
66 1. (((
67 Modifiez ou ajoutez la propriété suivante :
68
69 {{code language="properties"}}
70 # Liste des domaines séparés par une virgule
71 digdash_dashboard.PROP_CSRF_TARGET_ORIGIN=https://mywebsite.com,https://mydashboard.com
72 {{/code}}
73 )))
74
75 Alternativement, vous  pouvez désactiver la protection CSRF (non recommandé):
76
77 {{code language="properties"}}
78 digdash_dashboard.PROP_CSRF_CHECK=false
79 {{/code}}
80
81 (% start="3" %)
82 1. Redémarrez le serveur DigDash :(((
83 {{code language="shell"}}
84 # Tomcat 10
85 sudo service tomcat10 restart
86
87 # Tomcat 9
88 sudo service tomcat9 restart
89 {{/code}}
90 )))