Cette release vous permet de vous assurer que les variables de canal utilisateur envoyées par votre widget viennent bien de votre site, en exigeant une signature sur les variables auxquelles vous faites confiance.
Une signature sur les variables de confiance
Un visiteur peut modifier ce que votre page envoie au widget. Un email ou un identifiant client écrit dans la page peut être changé dans le navigateur avant d'arriver à votre chatbot. Vous pouvez désormais exiger une signature sur les variables de votre choix : votre serveur calcule le HMAC-SHA256 de la valeur avec une clé secrète partagée avec ViaSay, et votre page l'envoie à côté de la valeur sous la forme <variable>_signature. ViaSay la vérifie à chaque message.
Vous choisissez les variables : jusqu'à 50 variables de canal utilisateur par widget
Calculée sur votre serveur : avec une clé secrète d'au moins 32 caractères, que le bouton Generate peut créer pour vous
Jamais transmise : la signature ne sert qu'à la vérification, elle n'arrive jamais à votre chatbot, à vos analytics ni à vos logs de conversation
Préparez, testez, puis publiez
Rien ne change pour vos visiteurs tant que vous n'avez pas publié. Ouvrez Integrate → Channels, sélectionnez votre widget, puis l'onglet Security. Quatre étapes vous guident : enregistrer la clé, choisir les variables, vérifier vos signatures, publier.
Trois façons de tester : vérifier la clé seule, coller le script du widget généré par votre page, ou saisir des valeurs et des signatures à la main. Le résultat vous indique, variable par variable, si elle est Valid, Signature missing ou Signature does not match
Publish reste verrouillé tant que votre dernière modification n'a pas passé un test
Arrêtez à tout moment : les signatures ne sont plus vérifiées immédiatement, et votre clé et vos variables sont conservées
Changez la clé sans interruption : après la publication, l'ancienne clé reste acceptée jusqu'à ce que vous la supprimiez, pour que vos serveurs basculent à leur rythme
Ce qui se passe à chaque message
Une valeur qui échoue à la vérification n'arrive jamais à votre chatbot. Une fois publié, chaque message du widget est vérifié :
Signature valide : votre chatbot reçoit la valeur et la conversation continue
Signature absente ou fausse, ou valeur modifiée : votre chatbot reçoit une valeur vide et le visiteur reste anonyme. La conversation n'est jamais bloquée
Aucune variable sécurisée envoyée : le visiteur n'est pas connecté. Ce n'est pas une erreur, la valeur est simplement vide
Au transfert : avec Freshchat et ViaFlow, seuls un email, un numéro de téléphone ou un identifiant de contact arrivés avec une signature valide servent à retrouver le compte du client
Une variable sécurisée peut arriver vide à tout moment : prévoyez un chemin pour ce cas dans vos flows, par exemple en demandant au visiteur de se connecter.
Aucune action requise
Les widgets existants ne sont pas touchés : les signatures ne sont vérifiées qu'une fois que vous avez publié une configuration. L'onglet Security est disponible sur les canaux widget, pour les utilisateurs ayant le rôle Manager ou Platform Administrator.
Pour un pas-à-pas complet, avec des exemples de code en Node.js, Python, PHP et Java, consultez la documentation Sécuriser les User Channel Variables.