Para mejorar la seguridad y flexibilidad para nuestros clientes, introdujimos JSON Web Tokens (JWTs) como una forma más segura y escalable de autenticar users en Messenger.
Si actualmente usas Identity Verification (IDV) para verificar users, cambiar a JWTs te dará:
Mayor control sobre la autenticación – Gestiona la expiración y revocación de sesiones tú mismo, en lugar de depender de configuraciones fijas.
Seguridad reforzada – Los JWTs permiten tokens firmados y con tiempo limitado, reduciendo el riesgo de ataques de repetición.
Mejora en la seguridad de datos – Define exactamente qué atributos de users pueden actualizarse, reduciendo la exposición de datos sensibles.
Preparado para el futuro – Los JWTs son el reemplazo recomendado para IDV, asegurando que tu sistema de autenticación se mantenga alineado con las mejores prácticas.
¿Quién debería migrar?
Esta migración es relevante para todos los clientes que actualmente usan IDV, especialmente si:
✅ Necesitas mejor control sobre la expiración de sesiones y revocación de tokens
✅ Quieres aplicar actualizaciones seguras y específicas por user de atributos
✅ Manejas datos sensibles de clientes y requieres autenticación más fuerte
✅ Planeas mejoras de seguridad a largo plazo en tu workspace
Aunque IDV seguirá funcionando por ahora, los JWTs ofrecen un enfoque más moderno y seguro que se alinea con las mejores prácticas de autenticación. Esta guía te llevará paso a paso por el proceso de migración.
¿Qué pasa con el historial de conversaciones de Messenger si no uso JWTs?
Si tu canal de Messenger no tiene configurada la Seguridad de Messenger con JWTs, tus clientes solo pueden ver su propio historial de conversaciones de los últimos 14 días en Messenger. Este límite se introdujo en abril de 2026 como medida de seguridad.
Para restaurar la visibilidad completa del historial de conversaciones para tus clientes, configura la Seguridad de Messenger con JWTs siguiendo los pasos de migración a continuación. Una vez que los JWTs estén activos en una plataforma, se elimina el límite de 14 días para esa plataforma. Las conversaciones con más de 14 días están ocultas para los clientes en Messenger, no eliminadas, y siguen visibles para tus compañeros en Inbox.
Diferencias clave entre Identity Verification y Seguridad de Messenger con JWTs
| Identity Verification | Seguridad de Messenger con JWTs |
Método de verificación | Hash firmado HMAC-SHA256 | Token firmado JWT |
¿Soporta expiración? | No | Sí |
¿Soporta actualizaciones seguras de datos? | No | Sí |
Recomendado para | Verificación básica de identidad en Messenger | Autenticación segura con mejor control de sesiones y manejo seguro de datos |
Pasos para la migración
Paso 1: Actualiza tu integración para generar JWTs en lugar de hashes
Deja de generar firmas HMAC-SHA256 para Identity Verification.
Genera una nueva clave secreta para tu Messenger, eligiendo en qué plataformas deseas que se aplique
Aquí tienes un ejemplo de configuración de código del lado del servidor para 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" });Qué incluir en la carga útil (payload) de tu JWT:
user_idpara identificar al user. Este es un campo obligatorio.Una marca de tiempo opcional (
exp) para expiraciónCualquier otro atributo de datos que desees enviar de forma segura para tus users
Para instrucciones detalladas sobre cómo generar JWTs para tu workspace, consulta nuestro documento principal del centro de ayuda.
Nota: Si actualmente envías atributos de datos o datos de empresa sobre tus users a través de Messenger, debes actualizar tu integración para enviar esos atributos de forma segura dentro de tu JWT de user. Esto incluye cualquier objeto company que puedas estar pasando fuera del JWT — los datos de la empresa pasados fuera del JWT ahora se ignoran cuando hay un JWT presente, lo que significa que la empresa no se actualizará y last_seen no se refrescará. Para hacer esto, añade cualquier atributo a tu carga útil y asegúrate de bloquear cualquier solicitud insegura de Messenger.
En el ejemplo de código anterior, nuestra carga útil firma el user_id y el email. También incluye una expiración, que también debe ir en la carga útil.
Paso 2: Actualiza tu fragmento frontend para enviar JWTs para users
En lugar de pasar una firma HMAC para IDV, pasa el JWT en la configuración de Messenger como intercom_user_jwt
Para Web (JavaScript SDK):
window.Intercom("boot", {
api_base: "https://api-iam.intercom.io",
app_id: "<YOUR_APP_ID_HERE",
intercom_user_jwt: "<YOUR_USER_JWT_HERE>"
};
Como se indicó en la sección anterior, ahora enviamos atributos de datos dentro del JWT y han sido eliminados del fragmento.
Para instrucciones detalladas sobre cómo generar JWTs para tu workspace, consulta nuestro documento del centro de ayuda.
Solución de problemas
Hay registros detallados de fallos y herramientas de depuración de tokens en Configuración > Messenger > Seguridad para ayudar con la migración a JWTs.
Para más información, consulta nuestra guía de instalación aquí.
Preguntas frecuentes
¿Qué pasa si no migro?
Identity Verification seguirá funcionando por ahora, pero los JWTs ofrecen mayor seguridad y mejor control.
¿Cómo revoco una sesión JWT?
Puedes establecer una expiración corta (exp) o rotar las claves de firma para invalidar tokens antiguos.
¿Puedo usar Identity Verification y JWTs juntos?
Una vez que la autenticación JWT esté habilitada, Identity Verification ya no es necesaria. Sin embargo, puedes usar JWTs e Identity Verification de forma independiente en web, iOS y Android, ya que se configuran individualmente.


