Configurer une intégration multi-domaines

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


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é. 

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.

 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.

Configuration du Serveur Web (Nginx)

Cette étape permet au navigateur d'accepter les réponses provenant du serveur DigDash distant (site hébergeant le dashboard) :

Définition des domaines autorisés

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.

map $http_origin $cors_origin {
default "";
"https://mywebsite.com"  $http_origin;
"https://mydashboard.com" $http_origin;
}

Ajout des Headers de sécurité

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. Autorisation de l'origine dynamique
add_header Access-Control-Allow-Origin      $cors_origin always;
add_header Access-Control-Allow-Methods     "GET, POST, OPTIONS" always;
add_header Access-Control-Allow-Headers     "Content-Type, Authorization, x-gwt-module-base, x-gwt-permutation, x-requested-with" always;
add_header Access-Control-Allow-Credentials "true" always;

# 2. Gestion des cookies en mode embarqué
location / {
   proxy_cookie_path / "/; Secure; SameSite=None;";
}

💡 Pour que l'intégration fonctionne, le serveur source DigDash (qui fournit les portlets ou tableaux de bord) doit être accessible en HTTPS. 

Redémarrage du service

Pour prendre en compte les modifications, vérifiez la configuration et rechargez Nginx :

sudo nginx -t
sudo service nginx reload

Configuration DigDash

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.

  1. Éditez le fichier /etc/digdash/digdash.properties
  2. Modifiez ou ajoutez la propriété suivante :

    # Liste des domaines séparés par une virgule
    digdash_dashboard.PROP_CSRF_TARGET_ORIGIN=https://mywebsite.com,https://mydashboard.com

Alternativement, vous  pouvez désactiver la protection CSRF (non recommandé):

digdash_dashboard.PROP_CSRF_CHECK=false
  1. Redémarrez le serveur DigDash :
    # Tomcat 10
    sudo service tomcat10 restart

    # Tomcat 9
    sudo service tomcat9 restart