Use este guia para ativar validação de identidade no widget da IAra usando HMAC.
Para que serve
A validação de identidade reduz risco de personificação. Ela garante que o usuário identificado no widget foi assinado pelo seu backend antes de ser aceito pela IAra.
Antes de começar
- Acesse a caixa de entrada do tipo Site.
- Copie o token de HMAC em Configurações da caixa > Configuração > Validação de identidade.
- Gere o hash sempre no backend. Nunca exponha o segredo HMAC no navegador.
Como funciona
Você gera um hash SHA256 usando o segredo HMAC da caixa e o identificador único do usuário, por exemplo cliente-123.
Exemplos de geração de HMAC
Node.js
const crypto = require('crypto');
const key = '<webwidget-hmac-token>';
const identifier = '<identifier>';
const identifierHash = crypto
.createHmac('sha256', key)
.update(identifier)
.digest('hex');
Python
import hashlib
import hmac
secret = bytes('<webwidget-hmac-token>', 'utf-8')
identifier = bytes('<identifier>', 'utf-8')
identifier_hash = hmac.new(secret, identifier, hashlib.sha256).hexdigest()
Ruby
require 'openssl'
key = '<webwidget-hmac-token>'
identifier = '<identifier>'
identifier_hash = OpenSSL::HMAC.hexdigest('sha256', key, identifier)
PHP
<?php
$key = '<webwidget-hmac-token>';
$identifier = '<identifier>';
$identifier_hash = hash_hmac('sha256', $identifier, $key);
?>
Enviar hash para o widget
window.$chatwoot.setUser('cliente-123', {
name: 'Maria Souza',
email: '[email protected]',
identifier_hash: 'HASH_GERADO_NO_BACKEND',
});
Cuidados de segurança
- Não gere o HMAC no frontend.
- Não publique o token HMAC no código do site.
- Use um identificador estável para o usuário.
- Regere o hash quando o usuário muda de sessão ou identidade.