Principal Chat ao Vivo no Site Como ativar validação de identidade no widget

Como ativar validação de identidade no widget

Última atualização em May 21, 2026

A validação de identidade garante que cada conversa realmente pertence ao usuário autenticado da sua aplicação, evitando impersonação e protegendo o histórico de mensagens.

Ela funciona usando um HMAC SHA256 gerado no seu backend.


Onde pegar o token HMAC

Vá em:

Configurações → Inboxes → Configuração → Identity Validation

Copie o token exibido nessa seção.

Esse token é secreto e deve ficar apenas no backend da sua aplicação.


Como funciona

Você gera um hash HMAC SHA256 usando:

  • o token secreto do widget

  • o identificador único do usuário

Depois envia esse hash junto com o setUser.


Exemplo completo no frontend

window.$chatwoot.setUser("user-123", {
  name: "João Silva",
  email: "[email protected]",
  identifier_hash: "HASH_GERADO_NO_BACKEND"
});

O identifier_hash precisa ser gerado no servidor, nunca no frontend.


Gerando o HMAC no backend

Node.js

const crypto = require("crypto");

const key = "SEU_TOKEN_HMAC";
const identifier = "user-123";

const hash = crypto
  .createHmac("sha256", key)
  .update(identifier)
  .digest("hex");

console.log(hash);

PHP

<?php

$key = 'SEU_TOKEN_HMAC';
$message = 'user-123';

$identifier_hash = hash_hmac('sha256', $message, $key);

echo $identifier_hash;
?>

Python

import hashlib
import hmac

secret = bytes('SEU_TOKEN_HMAC', 'utf-8')
message = bytes('user-123', 'utf-8')

hash = hmac.new(secret, message, hashlib.sha256)

print(hash.hexdigest())

Ruby

require 'openssl'

key = 'SEU_TOKEN_HMAC'
message = 'user-123'

puts OpenSSL::HMAC.hexdigest('sha256', key, message)

Go

package main

import (
  "crypto/hmac"
  "crypto/sha256"
  "encoding/hex"
  "fmt"
)

func main() {
  secret := []byte("SEU_TOKEN_HMAC")
  message := []byte("user-123")

  hash := hmac.New(sha256.New, secret)
  hash.Write(message)

  fmt.Println(hex.EncodeToString(hash.Sum(nil)))
}

Benefícios da validação de identidade

Com a validação ativada:

  • usuários não conseguem acessar conversas de outras pessoas

  • o histórico permanece vinculado ao usuário correto

  • sessões continuam entre dispositivos e navegadores

  • reduz riscos de impersonação

  • aumenta a segurança do atendimento


Recomendação importante

Sempre use:

  • um ID único e permanente do usuário

  • geração do hash apenas no backend

  • HTTPS no site onde o widget está instalado

Nunca exponha o token HMAC no frontend.