Esta versão permite que você se certifique de que as variáveis de canal de usuário enviadas pelo seu widget vêm mesmo do seu site, exigindo uma assinatura nas variáveis em que você confia.
Uma assinatura nas variáveis de confiança
Um visitante pode alterar o que a sua página envia ao widget. Um e-mail ou um ID de cliente escrito na página pode ser mudado no navegador antes de chegar ao seu chatbot. Agora você pode exigir uma assinatura nas variáveis que escolher: o seu servidor calcula o HMAC-SHA256 do valor com uma chave secreta compartilhada com a ViaSay, e a sua página o envia junto do valor como <variable>_signature. A ViaSay verifica a cada mensagem.
Você escolhe as variáveis: até 50 variáveis de canal de usuário por widget
Calculada no seu servidor: com uma chave secreta de pelo menos 32 caracteres, que o botão Generate pode criar para você
Nunca repassada: a assinatura serve apenas para a verificação, ela nunca chega ao seu chatbot, aos seus analytics nem aos seus logs de conversa
Prepare, teste e depois publique
Nada muda para os seus visitantes até você publicar. Abra Integrate → Channels, selecione o seu widget e entre na aba Security. Quatro passos guiam você: salvar a chave, escolher as variáveis, verificar as assinaturas e publicar.
Três formas de testar: verificar só a chave, colar o script do widget gerado pela sua página, ou informar valores e assinaturas à mão. O resultado mostra, variável por variável, se ela está Valid, Signature missing ou Signature does not match
Publish continua bloqueado até que a sua última alteração tenha passado em um teste
Pare quando quiser: as assinaturas deixam de ser verificadas na hora, e a sua chave e as suas variáveis são mantidas
Troque a chave sem interrupção: depois de publicar, a chave anterior continua aceita até você removê-la, para que os seus servidores migrem no próprio ritmo
O que acontece a cada mensagem
Um valor que não passa na verificação nunca chega ao seu chatbot. Depois de publicado, cada mensagem do widget é verificada:
Assinatura válida: o seu chatbot recebe o valor e a conversa continua
Assinatura ausente ou errada, ou valor alterado: o seu chatbot recebe um valor vazio e o visitante continua anônimo. A conversa nunca é bloqueada
Nenhuma variável protegida enviada: o visitante não está logado. Não é um erro, o valor simplesmente fica vazio
Na transferência: com Freshchat e ViaFlow, só um e-mail, um telefone ou um ID de contato que chegaram com uma assinatura válida são usados para encontrar a conta do cliente
Uma variável protegida pode chegar vazia a qualquer momento, então preveja um caminho para esse caso nos seus fluxos, por exemplo pedindo ao visitante que faça login.
Nenhuma ação necessária
Os widgets existentes não são afetados: as assinaturas só são verificadas depois que você publica uma configuração. A aba Security está disponível nos canais de widget, para usuários com o papel Manager ou Platform Administrator.
Para um passo a passo completo, com exemplos de código em Node.js, Python, PHP e Java, consulte a documentação Proteger as User Channel Variables.