Para melhorar a segurança e flexibilidade para nossos clientes, introduzimos JSON Web Tokens (JWTs) como uma forma mais segura e escalável de autenticar users no Messenger.
Se você está usando atualmente Identity Verification (IDV) para verificar users, mudar para JWTs lhe dará:
Maior controle sobre a autenticação – Gerencie a expiração e revogação da sessão você mesmo, em vez de depender de configurações fixas.
Segurança reforçada – JWTs permitem tokens assinados e com tempo limitado, reduzindo o risco de ataques de repetição.
Melhoria na segurança dos dados – Defina exatamente quais atributos do user podem ser atualizados, reduzindo a exposição de dados sensíveis.
Preparação para o futuro – JWTs são a substituição recomendada para IDV, garantindo que seu sistema de autenticação esteja alinhado com as melhores práticas.
Quem deve migrar?
Esta migração é relevante para todos os clientes que usam IDV atualmente, especialmente se você:
✅ Precisa de melhor controle sobre expiração de sessão e revogação de token
✅ Quer impor atualizações seguras e específicas de atributos do user
✅ Lida com dados sensíveis de clientes e requer autenticação mais forte
✅ Está planejando melhorias de segurança a longo prazo no seu workspace
Embora o IDV continue funcionando por enquanto, JWTs oferecem uma abordagem mais moderna e segura que está alinhada com as melhores práticas de autenticação. Este guia irá orientá-lo passo a passo no processo de migração.
O que acontece com o histórico de conversas do Messenger se eu não usar JWTs?
Se seu canal Messenger não tiver Messenger Security com JWTs configurado, seus clientes podem ver apenas seu próprio histórico de conversas dos últimos 14 dias no Messenger. Esse limite foi introduzido em abril de 2026 como medida de segurança.
Para restaurar a visibilidade completa do histórico de conversas para seus clientes, configure Messenger Security com JWTs seguindo os passos de migração abaixo. Uma vez que os JWTs estejam ativos em uma plataforma, o limite de 14 dias é removido para essa plataforma. Conversas com mais de 14 dias ficam ocultas para os clientes no Messenger, não deletadas, e permanecem visíveis para seus colegas na Inbox.
Principais diferenças entre Identity Verification e Messenger Security com JWTs
| Identity Verification | Messenger Security com JWTs |
Método de verificação | Hash assinado HMAC-SHA256 | Token assinado JWT |
Suporta expiração? | Não | Sim |
Suporta atualizações seguras de dados? | Não | Sim |
Recomendado para | Verificação básica de identidade no Messenger | Autenticação segura com melhor controle de sessão e manipulação segura de dados |
Passos da migração
Passo 1: Atualize sua integração para gerar JWTs em vez de hashes
Pare de gerar assinaturas HMAC-SHA256 para Identity Verification.
Gere uma nova chave secreta para seu Messenger, escolhendo para quais plataformas deseja aplicá-la
Aqui está uma configuração de código do lado do 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" });O que colocar no payload do seu JWT:
user_idpara identificar o user. Este é um campo obrigatório.Um timestamp opcional (
exp) para expiraçãoQuaisquer outros atributos de dados que você queira enviar com segurança para seus users
Para instruções detalhadas sobre como gerar JWTs para seu workspace, veja nosso documento principal no centro de ajuda.
Nota: Se você está enviando atributos de dados ou dados da empresa sobre seus users pelo Messenger, deve atualizar sua integração para enviar esses atributos com segurança dentro do JWT do user. Isso inclui qualquer objeto company que você possa estar passando fora do JWT — dados da empresa passados fora do JWT agora são ignorados quando um JWT está presente, o que significa que a empresa não será atualizada e last_seen não será atualizado. Para isso, adicione quaisquer atributos ao seu payload e garanta que quaisquer solicitações inseguras do messenger sejam bloqueadas.
No exemplo de código acima, nosso payload assina o user_id e email. Também inclui uma expiração, que também deve estar no payload.
Passo 2: Atualize seu snippet frontend para enviar JWTs para users
Em vez de passar uma assinatura HMAC para IDV, passe o JWT nas configurações do 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 mencionado na seção anterior, agora estamos enviando atributos de dados dentro do JWT e eles foram removidos do snippet.
Para instruções detalhadas sobre como gerar JWTs para seu workspace, veja nosso documento no centro de ajuda.
Solução de problemas
Existem logs detalhados de falhas e ferramentas de depuração de token em Configurações > Messenger > Segurança para ajudar na migração para JWTs.
Para mais informações, veja nosso guia de instalação aqui.
Perguntas frequentes
O que acontece se eu não migrar?
Identity Verification continuará funcionando por enquanto, mas JWTs oferecem segurança mais forte e melhor controle.
Como revogo uma sessão JWT?
Você pode definir uma expiração curta (exp) ou rotacionar as chaves de assinatura para invalidar tokens antigos.
Posso usar Identity Verification e JWTs juntos?
Uma vez que a autenticação JWT esteja habilitada, Identity Verification não é mais necessária. No entanto, você pode usar JWTs e Identity Verification independentemente na web, iOS e Android, pois todos são configurados individualmente.


