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 de atributos de users
✅ Manejas datos sensibles de clientes y requieres autenticación más fuerte
✅ Planeas mejoras de seguridad a largo plazo en tu espacio de trabajo
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.
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 |
Soporte para SDK móvil: Por ahora, la autenticación JWT está disponible solo para implementaciones de Messenger web. Para los SDKs de iOS y Android, debes continuar usando Identity Verification.
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 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 espacio de trabajo, consulta nuestro documento principal del centro de ayuda.
Nota: Si actualmente envías atributos de datos sobre tus users a través de Zendesk o Fin Messenger, debes actualizar tu integración para enviar esos atributos de forma segura dentro de tu JWT de user. Para ello, añade cualquier atributo a tu carga útil y asegúrate de que se bloqueen las solicitudes inseguras del 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 se han eliminado del fragmento.
Para instrucciones detalladas sobre cómo generar JWTs para tu espacio de trabajo, consulta nuestro documento del centro de ayuda.
Móvil (SDKs iOS/Android): Los JWTs aún no son compatibles con los SDKs móviles. Aquí debes continuar usando Identity Verification por ahora.
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 será necesaria. Sin embargo, puedes usar JWTs e Identity Verification de forma independiente en web, iOS y Android, ya que todos se configuran individualmente.


