Passar para o conteúdo principal

[Deprecated] Fin Messenger: Configurar autenticação JWT para Salesforce Enhanced Chat

Como gerar um Fin JWT para proteger o Fin Messenger para Salesforce

⚠️ Obsoleto - configuração não recomendada

Este artigo aborda a configuração da autenticação JWT para um Canal de Mensagens Salesforce Enhanced Chat. Novas implantações Salesforce devem usar Bring Your Own Channel (BYOC): [link]. Estes passos permanecem para workspaces que já utilizam Enhanced Chat.

Este artigo explica como gerar e configurar o JSON Web Token (JWT) necessário para o Fin Messenger autenticar users ao encaminhar conversas para Salesforce Enhanced Chat. Completar esses passos permite que o Fin transmita com segurança a identidade do usuário tanto para o Fin quanto para o Salesforce, para que seus colegas confiem na identidade dos clientes com quem estão falando.

Nota: Pré-requisitos: Fin Messenger já deve estar instalado no seu app, e um Canal de Mensagens Salesforce Enhanced Chat deve estar configurado. A gem Ruby jwt é necessária se usar os exemplos de código Rails abaixo. Este recurso está disponível nos planos Fin Messenger que incluem integração com Salesforce — contate sua equipe de conta para confirmar acesso.

Você deve adicionar o JWT aos seus atributos intercomSettings para habilitar a autenticação do Fin Messenger com Salesforce Enhanced Chat:

  • intercom_user_jwt

    • Isso é usado para fornecer com segurança ao Fin o Contact ID e quaisquer atributos do Contact ou Account que você queira fornecer ao Fin (ou Salesforce)

Omitir intercom_user_jwt significa que o Fin não pode transmitir dados de contato com segurança para o Salesforce.

O JWT deve ser gerado no servidor a cada carregamento de página para o usuário atual, usando uma chave privada. Siga estes passos para obter cada chave e habilitar a verificação do usuário no Fin Messenger e Salesforce:

  1. Recupere sua chave privada Intercom — vá para Configurações > Messenger > Segurança e copie seu Messenger API Secret. Esta é a chave de assinatura para intercom_user_jwt.

  2. Veja Fin Messenger: Habilitando verificação de usuário no Salesforce para instruções passo a passo para habilitar a Verificação de Usuário no Salesforce. O Fin cuidará da geração do JWT do Salesforce uma vez configurado.

O exemplo a seguir em Rails mostra como gerar o JWT para autenticação do Fin Messenger e Salesforce Enhanced Chat e passá-los para seu objeto intercomSettings:

Visualização Rails — passando JWTs para intercomSettings do 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 — gerando o Fin JWT para Fin Messenger:

intercom_jwt usa HS256 (HMAC-SHA256, um algoritmo de assinatura simétrico) com seu Intercom Messenger API Secret.

  def intercom_jwt(user_id)
JWT.encode({ user_id: user_id, exp: Time.now.to_i+3600 }, INTERCOM_JWT_SECRET, "HS256")
end

Nota: O JWT está configurado para expirar após 1 hora (exp: Time.now.to_i + 3600). Deve ser regenerado a cada carregamento de página — não o armazene em cache entre sessões. Se um JWT expirar no meio da conversa, o cliente pode precisar atualizar a página para reautenticar.

Respondeu à sua pergunta?