⚠️ Obsolète - configuration non recommandée
Cet article explique comment configurer l'authentification JWT pour un canal de messagerie Salesforce Enhanced Chat. Les nouvelles déploiements Salesforce doivent utiliser Bring Your Own Channel (BYOC) : [link]. Ces étapes restent disponibles pour les espaces déjà équipés d'Enhanced Chat.
Cet article explique comment générer et configurer le JSON Web Token (JWT) requis pour que Fin Messenger authentifie les users lors du routage des conversations vers Salesforce Enhanced Chat. Ces étapes permettent à Fin de transmettre en toute sécurité l'identité des users à Fin et Salesforce, afin que vos collègues puissent faire confiance à l'identité des clients avec lesquels ils échangent.
Note : Prérequis : Fin Messenger doit déjà être installé dans votre application, et un canal de messagerie Salesforce Enhanced Chat doit être configuré. La gem Ruby jwt est requise si vous utilisez les exemples de code Rails ci-dessous. Cette fonctionnalité est disponible sur les plans Fin Messenger incluant l'intégration Salesforce — contactez votre équipe commerciale pour confirmer l'accès.
Vous devez ajouter le JWT à vos attributs intercomSettings pour activer l'authentification Fin Messenger avec Salesforce Enhanced Chat :
intercom_user_jwt
Cela sert à fournir en toute sécurité à Fin l'ID Contact et tous les attributs du Contact ou du Compte que vous souhaitez transmettre à Fin (ou Salesforce).
Omettre intercom_user_jwt signifie que Fin ne peut pas transmettre en toute sécurité les données de contact à Salesforce.
Le JWT doit être généré côté serveur à chaque chargement de page pour l'user actuel, en utilisant une clé privée. Suivez ces étapes pour obtenir chaque clé et activer la vérification des users dans Fin Messenger et Salesforce :
Récupérez votre clé privée Intercom — allez dans Paramètres > Messenger > Sécurité et copiez votre Messenger API Secret. C'est la clé de signature pour intercom_user_jwt.
Voir Fin Messenger : Activation de la vérification des users dans Salesforce pour des instructions détaillées. Fin gérera la génération du JWT Salesforce une fois configuré.
L'exemple Rails suivant montre comment générer le JWT pour l'authentification Fin Messenger et Salesforce Enhanced Chat et les passer dans votre objet intercomSettings :
Vue Rails — passage des JWT dans intercomSettings pour Fin Messenger :
window.intercomSettings = {
api_base: "https://api-iam.intercom.io",
app_id: "your-app-id-here",
user_id: "<%= current_user&.id %>",
intercom_user_jwt: "<%= intercom_jwt(current_user&.id %>",
};
Helper Rails — génération du Fin JWT pour Fin Messenger :
intercom_jwt utilise HS256 (HMAC-SHA256, un algorithme de signature symétrique) avec votre Messenger API Secret Intercom.
def intercom_jwt(user_id)
JWT.encode({ user_id: user_id, exp: Time.now.to_i+3600 }, INTERCOM_JWT_SECRET, "HS256")
end
Note : Le JWT expire après 1 heure (exp: Time.now.to_i + 3600). Il doit être régénéré à chaque chargement de page — ne le mettez pas en cache entre les sessions. Si un JWT expire en cours de conversation, le client devra peut-être rafraîchir la page pour se réauthentifier.
