⚠️ Obsoleto - ya no es la configuración recomendada
Este artículo cubre la configuración de la autenticación JWT para un Canal de Mensajería Salesforce Enhanced Chat. Las nuevas implementaciones de Salesforce deben usar Bring Your Own Channel (BYOC) en su lugar: [link]. Estos pasos permanecen aquí para los workspaces que ya usan Enhanced Chat.
Este artículo explica cómo generar y configurar el JSON Web Token (JWT) requerido para que Fin Messenger autentique users al enrutar conversaciones a Salesforce Enhanced Chat. Completar estos pasos permite que Fin pase de forma segura la identidad del usuario tanto a Fin como a Salesforce, para que tus compañeros confíen en la identidad de los clientes con los que hablan.
Nota: Requisitos previos: Fin Messenger debe estar ya instalado en tu app, y un Canal de Mensajería Salesforce Enhanced Chat debe estar configurado. La gema Ruby jwt es necesaria si usas los ejemplos de código Rails a continuación. Esta función está disponible en planes de Fin Messenger que incluyen integración con Salesforce — contacta a tu equipo de cuenta para confirmar acceso.
Debes agregar el JWT a tus atributos intercomSettings para habilitar la autenticación de Fin Messenger con Salesforce Enhanced Chat:
intercom_user_jwt
Esto se usa para proporcionar de forma segura a Fin el Contact ID y cualquier atributo del Contacto o Cuenta que quieras proporcionar a Fin (o Salesforce).
Omitir intercom_user_jwt significa que Fin no puede pasar datos de contacto de forma segura a Salesforce.
El JWT debe generarse del lado del servidor en cada carga de página para el usuario actual, usando una clave privada. Sigue estos pasos para obtener cada clave y habilitar la verificación de users en Fin Messenger y Salesforce:
Recupera tu clave privada de Intercom — ve a Configuración > Messenger > Seguridad y copia tu Messenger API Secret. Esta es la clave de firma para intercom_user_jwt.
Consulta Fin Messenger: Habilitar la verificación de users en Salesforce para instrucciones paso a paso para habilitar la Verificación de users en Salesforce. Fin se encargará de generar el JWT de Salesforce una vez configurado.
El siguiente ejemplo en Rails muestra cómo generar el JWT para la autenticación de Fin Messenger y Salesforce Enhanced Chat y pasarlos a tu objeto intercomSettings:
Vista Rails — pasando JWTs a intercomSettings para 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 — generando el Fin JWT para Fin Messenger:
intercom_jwt usa HS256 (HMAC-SHA256, un algoritmo de firma simétrico) con tu Messenger API Secret de Intercom.
def intercom_jwt(user_id)
JWT.encode({ user_id: user_id, exp: Time.now.to_i+3600 }, INTERCOM_JWT_SECRET, "HS256")
end
Nota: El JWT está configurado para expirar después de 1 hora (exp: Time.now.to_i + 3600). Debe regenerarse en cada carga de página — no lo caches entre sesiones. Si un JWT expira en medio de una conversación, el cliente puede necesitar refrescar la página para reautenticarse.
