Passer au contenu principal

Migration de la vérification d'identité à la sécurité Messenger avec JWTs

Comment protéger les sessions Messenger de vos users contre l'usurpation d'identité, le vol de session et les mises à jour non autorisées des attributs de données.

Pour améliorer la sécurité et la flexibilité pour nos clients, nous avons introduit les JSON Web Tokens (JWTs) comme méthode plus sûre et évolutive pour authentifier les users dans Messenger.

Si vous utilisez actuellement Identity Verification (IDV) pour vérifier les users, passer aux JWTs vous offrira :

  • Un meilleur contrôle de l'authentification – Gérez vous-même l'expiration et la révocation des sessions, plutôt que de dépendre de configurations fixes.

  • Une sécurité renforcée – Les JWTs permettent des tokens signés et limités dans le temps, réduisant le risque d'attaques par rejeu.

  • Une meilleure sécurité des données – Définissez précisément quels attributs users peuvent être mis à jour, réduisant l'exposition des données sensibles.

  • Une solution pérenne – Les JWTs sont le remplacement recommandé pour IDV, garantissant que votre système d'authentification reste conforme aux meilleures pratiques.

Qui doit migrer ?

Cette migration concerne tous les clients utilisant actuellement IDV, surtout si vous :

✅ Avez besoin d'un meilleur contrôle sur l'expiration des sessions et la révocation des tokens

✅ Souhaitez appliquer des mises à jour sécurisées et spécifiques aux users des attributs

✅ Gérez des données clients sensibles et exigez une authentification renforcée

✅ Prévoyez des améliorations de sécurité à long terme dans votre espace de travail

Bien qu'IDV fonctionne encore pour l'instant, les JWTs offrent une approche plus moderne et sécurisée, conforme aux meilleures pratiques d'authentification. Ce guide vous accompagne pas à pas dans la migration.

Que se passe-t-il avec l'historique des conversations Messenger si je n'utilise pas les JWTs ?

Si votre canal Messenger n'a pas la sécurité Messenger avec JWTs configurée, vos clients ne peuvent voir que leur propre historique de conversation des 14 derniers jours dans Messenger. Cette limite a été introduite en avril 2026 comme mesure de sécurité.

Pour restaurer la visibilité complète de l'historique des conversations pour vos clients, configurez la sécurité Messenger avec JWTs en suivant les étapes de migration ci-dessous. Une fois les JWTs activés sur une plateforme, la limite de 14 jours est supprimée pour cette plateforme. Les conversations plus anciennes restent cachées aux clients dans Messenger, non supprimées, et restent visibles pour vos collègues dans Inbox.


Principales différences entre Identity Verification et la sécurité Messenger avec JWTs

Identity Verification

Sécurité Messenger avec JWTs

Méthode de vérification

HMAC-SHA256 hash signé

Token signé JWT

Supporte l'expiration ?

Non

Oui

Supporte les mises à jour sécurisées des données ?

Non

Oui

Recommandé pour

Vérification d'identité basique dans Messenger

Authentification sécurisée avec meilleur contrôle des sessions et gestion sécurisée des données

Support SDK mobile : L'authentification JWT est disponible sur web, iOS et Android. Le SDK iOS nécessite la version 18.7.0 ou ultérieure, et le SDK Android la version 15.16.0 ou ultérieure. Pour les instructions d'installation, consultez la documentation développeur pour iOS et Android.


Étapes de migration

Étape 1 : Mettez à jour votre intégration pour générer des JWTs au lieu de hash

  1. Arrêtez de générer des signatures HMAC-SHA256 pour Identity Verification.

  2. Générez une nouvelle clé secrète pour votre Messenger, en choisissant les plateformes auxquelles elle doit s'appliquer

  3. Au lieu de cela, générez un JWT en utilisant votre clé secrète.

Voici un exemple de configuration côté serveur pour Node.js :

const jwt = require("jsonwebtoken");

const payload = {
user_id: "USER_ID_HERE", // Required
email: "EMAIL_ADDRESS_HERE", // Optional
data_attribute: "YOUR_DATA", // Optional
exp: Math.floor(Date.now() / 1000) + 3600 // Expires in 1hr
};

const secret = process.env.MESSENGER_SECRET_KEY || "YOUR_MESSENGER_SECRET_KEY"; // Secure key storage

const intercomUserJwt = jwt.sign(payload, secret, { algorithm: "HS256" });

Ce qu'il faut mettre dans la charge utile de votre JWT :

  • user_id pour identifier le user. Ce champ est obligatoire.

  • Un horodatage optionnel (exp) pour l'expiration

  • Tous les autres attributs de données que vous souhaitez envoyer en toute sécurité pour vos users

Pour des instructions détaillées sur la génération des JWTs pour votre espace de travail, consultez notre documentation principale.

Note : Si vous envoyez actuellement des attributs de données ou des données d'entreprise concernant vos users via Messenger, vous devez mettre à jour votre intégration pour envoyer ces attributs en toute sécurité dans votre JWT utilisateur. Cela inclut tout objet company que vous pourriez passer en dehors du JWT — les données d'entreprise passées en dehors du JWT sont désormais ignorées lorsqu'un JWT est présent, ce qui signifie que l'entreprise ne sera pas mise à jour et que last_seen ne sera pas rafraîchi. Pour ce faire, ajoutez les attributs à votre charge utile et assurez-vous que toutes les requêtes Messenger non sécurisées sont bloquées.

Dans l'exemple de code ci-dessus, notre charge utile signe le user_id et le email. Elle inclut également une expiration, qui doit aussi être incluse dans la charge utile.

Étape 2 : Mettez à jour votre extrait frontend pour envoyer les JWTs des users

Au lieu de passer une signature HMAC pour IDV, passez le JWT dans les paramètres Messenger sous intercom_user_jwt

Pour le Web (SDK JavaScript) :

window.Intercom("boot", {
api_base: "https://api-iam.intercom.io",
app_id: "<YOUR_APP_ID_HERE",
intercom_user_jwt: "<YOUR_USER_JWT_HERE>"
};

Comme indiqué dans la section précédente, nous envoyons désormais les attributs de données dans le JWT et ils ont été retirés de l'extrait.

Pour des instructions détaillées sur la génération des JWTs pour votre espace de travail, consultez notre documentation.

Mobile (SDK iOS et Android) : Les JWTs sont pris en charge sur le SDK iOS (version 18.7.0 ou ultérieure) et le SDK Android (version 15.16.0 ou ultérieure). Utilisez la méthode setUserJwt pour passer le JWT dans votre application. Pour plus de détails, consultez la documentation développeur pour iOS et Android.


Dépannage

Il existe des journaux d'échec détaillés et un outil de débogage de token dans Paramètres > Messenger > Sécurité pour faciliter la transition vers les JWTs.

Pour plus d'informations, consultez notre guide d'installation ici.


FAQ

Que se passe-t-il si je ne migre pas ?

Identity Verification continuera de fonctionner pour l'instant, mais les JWTs offrent une sécurité renforcée et un meilleur contrôle.

Comment révoquer une session JWT ?

Vous pouvez définir une courte expiration (exp) ou faire tourner les clés de signature pour invalider les anciens tokens.

Puis-je utiliser Identity Verification et JWTs ensemble ?

Une fois l'authentification JWT activée, Identity Verification n'est plus nécessaire. Cependant, vous pouvez utiliser JWTs et Identity Verification indépendamment sur web, iOS et Android car ils sont configurés individuellement.

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