-
AirWatch Sync v1.6.31 Stable
released this
2026-10-27 16:18:17 +00:00 | 18 commits to main since this releaseAirWatch Sync 1.6.31
1.6.31 — la synchro fonctionne même quand un proxy supprime l'en-tête CSRF
Correction (erreur « GLPI a rejeté la requête » sur la synchro)
- Un reverse proxy ou un WAF placé devant GLPI peut supprimer les en-têtes
custom. En requête AJAX (X-Requested-With), GLPI 11 ne valide que
l'en-têteX-Glpi-Csrf-Token: supprimé par le proxy, chaque POST
recevait un 403 alors que le jeton du corps de requête était valide. - Les appels de synchro (page de configuration et panneau par appareil)
sont maintenant des POST simples sans flag XHR : GLPI valide alors
_glpi_csrf_tokendans le corps, qui arrive toujours au serveur. - Après un 403, un jeton frais est récupéré via
endpoint=tokenet la
requête est relancée une fois ; si cet endpoint est injoignable, un
message d'erreur propre s'affiche au lieu d'unTypeError. - Le jeton de la page est consommé par un POST simple : il est maintenant
rafraîchi automatiquement après chaque succès, donc le clic suivant ne
passe pas par un 403.
Vérifié
- Syntaxe PHP (
php -l) et JS généré (node --check) des deux pages. - Tests logiques Node modélisant le listener CSRF de GLPI 11 + un proxy qui
supprime l'en-tête : l'ancienne version (1.6.30) reproduit exactement les
erreurs signalées (403 en AJAX, TypeError dans l'UI) ; la nouvelle version
réussit dans tous les scénarios (jeton valide, jeton déjà consommé,
endpoint de jeton mort, avec ou sans proxy). - Déployé et testé sur le conteneur de référence GLPI 11 : la page rendue
n'envoie plus l'en-tête XHR sur les POST de synchro, et le POST avec jeton
de corps (la requête exacte envoyée par le nouveau JS) reçoit une réponse
JSON 200.
Pensez à recharger la page en force (Ctrl+F5) après l'installation.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Un reverse proxy ou un WAF placé devant GLPI peut supprimer les en-têtes