Passer au contenu principal

Fin Messenger : Configurer l'authentification JWT pour Salesforce Enhanced Chat

Comment générer un Fin JWT pour sécuriser Fin Messenger pour Salesforce

Cet article explique comment générer et configurer le JSON Web Token (JWT) requis pour que Fin Messenger authentifie les users lors de la redirection des conversations vers Salesforce Enhanced Chat. Ces étapes permettent à Fin de transmettre en toute sécurité l'identité des users à la fois à Fin et à Salesforce, afin que vos collègues puissent faire confiance à l'identité des clients avec lesquels ils communiquent.

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 de compte 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 de Contact et tous les attributs du Contact ou du Compte que vous souhaitez fournir à Fin (ou Salesforce).

Ne pas inclure 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 :

  1. 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.

  2. Voir Fin Messenger : Activation de la vérification des users dans Salesforce pour des instructions étape par étape sur l'activation de la vérification des users dans Salesforce. Fin s'occupera de générer le 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 peut devoir rafraîchir la page pour se réauthentifier.

Avez-vous trouvé la réponse à votre question ?