Trouble Ticket Connector
Connecteur WordPress autonome pour le portail public de support (widget trouble ticket, assertion signee, aucun ticket stocke localement)
by PhotoVault · github.com/enockmigjr/trouble-ticket-connector
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/enockmigjr/trouble-ticket-connector/archive/refs/heads/main.zipReadme
Trouble Ticket Connector
Connecteur WordPress autonome vers le portail public Telecom ITSM. Il injecte le widget et, pour un membre PhotoVault connecté dont l’email est vérifié par Identity Security Kit, produit une assertion HS256 à usage unique. Aucun ticket, commentaire, fichier ou historique n’est stocké dans WordPress.
Prérequis
- WordPress avec HTTPS en production et un portail support sur une origine distincte ;
- Identity Security Kit actif pour la connexion sans nouvel OTP ;
- intégration
ACTIVEcréée côté backend avec l’origine exacte du site ; - même secret de 32 à 256 caractères configuré dans les deux systèmes ;
- domaine du portail autorisé par la CSP du site dans
script-src,frame-srcetconnect-src.
Installation
- Installer ce dossier dans
wp-content/plugins/trouble-ticket-connectoret activer le plugin. - Dans Réglages > Support client, saisir l’URL du portail, sa clé publique, l’UUID d’intégration, l’audience et l’origine exacte du site.
- Définir de préférence
TROUBLE_TICKET_CONNECTOR_SECRETdanswp-config.phpou l’environnement. Le formulaire admin constitue un repli chiffré avec Sodium ou AES-256-GCM. - Choisir l’injection automatique ou placer
[trouble_ticket_support]sur les pages voulues. - Tester la connexion publique. Ce test ne transmet jamais le secret.
Le chargeur épinglé est /widget/v2/widget.js, avec l’intégrité
sha384-63HovOBBVveI4gTSPtMyLyAmo64gADN020jaBKjd1vzmlRh3aVqe3+HX/nJ2eHq7.
Rotation et révocation
Créer d’abord un nouveau credential côté backend, puis enregistrer la même valeur ici. Le backend conserve temporairement l’ancien credential pendant la grâce. Le bouton de révocation locale supprime uniquement l’option chiffrée ; une constante serveur doit être retirée de la configuration, et le credential doit toujours être révoqué côté plateforme.
Sécurité et comportement dégradé
- l’endpoint
POST /wp-json/trouble-ticket/v1/assertionexige session WordPress etX-WP-Nonce; - l’assertion expire après 120 secondes et contient un
jtialéatoire consommé par Redis côté backend ; - le sujet est opaque, stable par utilisateur/intégration et ne révèle pas l’ID WordPress ;
- le téléphone n’est inclus que si la preuve est liée au numéro canonique courant ;
- si Identity Security Kit ou l’assertion échoue, le widget garde son parcours public par email ; la CSP doit autoriser explicitement le domaine support pour que le chargeur puisse apparaître ;
- la désactivation ne modifie ni le thème ni les trois autres plugins. La désinstallation retire les options et la capability, mais conserve volontairement les sujets opaques afin qu’une réinstallation retrouve les tickets historiques.
Validation runtime
Depuis WP-CLI :
wp eval-file wp-content/plugins/trouble-ticket-connector/tests/runtime-connector.php
Recette navigateur PhotoVault (depuis le thème, qui contient Playwright) :
$env:PHOTOVAULT_TEST_BASE_URL = "http://localhost:8080"
$env:PHOTOVAULT_TEST_USERNAME = "membre-verifie"
$env:PHOTOVAULT_TEST_PASSWORD = "mot-de-passe"
node ..\..\plugins\trouble-ticket-connector\tests\browser-connector.js
Elle vérifie que le widget s'ouvre pour un visiteur anonyme (parcours email) et qu'un membre PhotoVault dont l'email
est vérifié accède directement au widget sans nouvel OTP. Le moteur est sélectionnable avec
PHOTOVAULT_TEST_BROWSER (chromium, firefox ou webkit) ; les trois moteurs sont validés.