Last modified by Aurelie Bertrand on 2026/04/22 10:19

Hide last authors
Aurelie Bertrand 11.1 1 {{toc/}}
Aurelie Bertrand 1.1 2
Aurelie Bertrand 11.1 3 ----
4
Aurelie Bertrand 1.1 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
Aurelie Bertrand 16.1 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.
Aurelie Bertrand 1.1 8
Aurelie Bertrand 10.1 9 (% class="box infomessage" %)
10 (((
Aurelie Bertrand 18.1 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.
Aurelie Bertrand 10.1 12 )))
13
Aurelie Bertrand 2.1 14 = Configuration du Serveur Web (Nginx) =
Aurelie Bertrand 1.1 15
Aurelie Bertrand 2.1 16 Cette étape permet au navigateur d'accepter les réponses provenant du serveur DigDash distant (site hébergeant le dashboard) :
Aurelie Bertrand 1.1 17
Aurelie Bertrand 2.1 18 == Définition des domaines autorisés ==
Aurelie Bertrand 1.1 19
Aurelie Bertrand 9.1 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.
Aurelie Bertrand 1.1 21
22 {{code language="nginx"}}
23 map $http_origin $cors_origin {
Aurelie Bertrand 6.1 24 default "";
25 "https://mywebsite.com" $http_origin;
26 "https://mydashboard.com" $http_origin;
Aurelie Bertrand 1.1 27 }
28 {{/code}}
29
Aurelie Bertrand 2.1 30 == Ajout des Headers de sécurité ==
Aurelie Bertrand 1.1 31
Aurelie Bertrand 7.1 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 :
Aurelie Bertrand 1.1 33
Aurelie Bertrand 2.1 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;
Aurelie Bertrand 1.1 40
Aurelie Bertrand 2.1 41 # 2. Gestion des cookies en mode embarqué
42 location / {
43 proxy_cookie_path / "/; Secure; SameSite=None;";
44 }
45 {{/code}}
Aurelie Bertrand 1.1 46
Aurelie Bertrand 14.1 47 (% class="box infomessage" %)
Aurelie Bertrand 2.1 48 (((
Aurelie Bertrand 17.1 49 💡 Pour que l'intégration fonctionne, le serveur source DigDash (qui fournit les portlets ou tableaux de bord) doit être accessible en HTTPS.
Aurelie Bertrand 2.1 50 )))
Aurelie Bertrand 1.1 51
Aurelie Bertrand 20.1 52 == Redémarrage du service ==
Aurelie Bertrand 1.1 53
Aurelie Bertrand 8.1 54 Pour prendre en compte les modifications, vérifiez la configuration et rechargez Nginx :
Aurelie Bertrand 1.1 55
Aurelie Bertrand 8.1 56 {{code language="shell"}}
57 sudo nginx -t
58 sudo service nginx reload
Aurelie Bertrand 7.1 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**
Aurelie Bertrand 1.1 66 1. (((
67 Modifiez ou ajoutez la propriété suivante :
68
Aurelie Bertrand 4.1 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 )))
Aurelie Bertrand 1.1 74
Aurelie Bertrand 4.1 75 Alternativement, vous  pouvez désactiver la protection CSRF (non recommandé):
Aurelie Bertrand 1.1 76
Aurelie Bertrand 4.1 77 {{code language="properties"}}
78 digdash_dashboard.PROP_CSRF_CHECK=false
79 {{/code}}
Aurelie Bertrand 1.1 80
Aurelie Bertrand 7.1 81 (% start="3" %)
82 1. Redémarrez le serveur DigDash :(((
Aurelie Bertrand 8.1 83 {{code language="shell"}}
Aurelie Bertrand 7.1 84 # Tomcat 10
85 sudo service tomcat10 restart
Aurelie Bertrand 1.1 86
Aurelie Bertrand 7.1 87 # Tomcat 9
88 sudo service tomcat9 restart
89 {{/code}}
90 )))