Configurer une intégration multi-domaines
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.
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.
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 :
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;";
}
Redémarrage du service
Pour prendre en compte les modifications, vérifiez la configuration et rechargez Nginx :
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.
- Éditez le fichier /etc/digdash/digdash.properties
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é):
- Redémarrez le serveur DigDash :# Tomcat 10
sudo service tomcat10 restart
# Tomcat 9
sudo service tomcat9 restart