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