Skip to main content

Identidad del visitante

Algunas acciones agenticas son personales: mostrar a un visitante sus pedidos, facturas, suscripcion o tickets de soporte. El bot solo las ejecuta cuando puede probar quien es el visitante. Lo pruebas enviando un JWT corto, firmado en tu backend, que lleva el email del visitante.
La identidad solo hace falta para acciones personales. Las acciones publicas (explorar productos, agendar una llamada, abrir un ticket) ya funcionan para visitantes anonimos.

Como funciona

Tu usuario inicia sesion en tu sitio

Tu app ya sabe quien es.

Tu backend firma un JWT

Con tu signing key de BestChatBot (HS256), tu backend genera un token corto con el email del visitante.

Entregas el token al widget

Mediante setUserToken() o el atributo data-user-token.

El bot verifica y actua

BestChatBot comprueba la firma, lee el email verificado y ejecuta las acciones personales de forma segura.

Que debe contener el token

El bot lee estos claims. Solo email es obligatorio. Token minimo (Node.js):
En Firmar el JWT tienes Python, PHP, Go, Java, .NET y ejemplos por proveedor (WordPress, Clerk, Firebase, Supabase, Auth0).

Consigue tu signing key

Abre la configuracion de tu widget en el dashboard, ve a Security / Identity Verification y crea una Signing Key. Copiala una vez y guardala como secreto en tu backend. Puedes tener hasta 3 keys activas, asi rotas sin cortes: firmas con la nueva mientras la antigua sigue verificando, y luego retiras la antigua.
La signing key es un secreto compartido, como una contrasena. No es lo mismo que tu API key del widget (rk_live_...). Nunca la subas al repositorio ni la expongas al navegador.

Entrega el token al widget

Elige la via que encaje con tu app. Las dos envian el token al bot como Authorization: Bearer <jwt>. Opcion A, en runtime (SPAs): llama a la API del widget cuando tengas el token.
Opcion B, renderizado en servidor: pon el token en el script tag.

Reglas de seguridad

  • Firma el JWT solo en tu backend. La signing key nunca llega al navegador.
  • Genera un JWT nuevo para BestChatBot. Nunca reenvies el token de sesion de Clerk, Supabase, Firebase o Auth0.
  • Pasa el email a minusculas antes de firmar.
  • Manten exp corto (1 hora es un buen valor). El limite duro son 24 horas.
  • Renueva el token cuando se renueve la sesion de tu usuario.

Tokens anonimos e invalidos

Siguientes pasos

Firmar el JWT

Codigo de backend para cada stack y lenguaje.

Integraciones disponibles

Mira que acciones necesitan un visitante identificado.