Suite | Qualquer plano |
Quando você fornece suporte por conversa, os usuários podem tentar manter uma conversa em vários dispositivos e canais. Ao autenticar os usuários finais, você pode garantir que todos os pontos de contato sejam associados ao usuário final correto. Isso pode melhorar a qualidade do suporte oferecido pelos agentes e aumentar a segurança de informações sensíveis que podem surgir enquanto os agentes ajudam os usuários finais.
- Terminologia para a autenticação em mensagens
- Visão geral da implementação de autenticação em mensagens para usuários finais
- Criação e compartilhamento de uma chave de assinatura
- Autenticação de usuários finais com somente um ID externo
- Incorporação de identidades de e-mail na autenticação do usuário
- Resolução de conflitos entre IDs externos e e-mails nos JWTs
Artigo relacionado: Noções básicas sobre a autenticação do usuário para mensagens.
Terminologia para a autenticação em mensagens
- JWT: a Zendesk usa tokens da web JSON (JWTs) para a autenticação de usuários finais em mensagens. Esses tokens contêm detalhes que confirmam a identidade de um usuário final. Para obter mais informações sobre JWT, consulte jwt.io.
- Chave de assinatura: uma chave de assinatura é criada por um administrador do Zendesk na Central de administração e compartilhada com um desenvolvedor da equipe, que a utiliza para assinar o JWT quando necessário.
- ID externo: uma cadeia de caracteres alfanumérica, como um ID de um sistema externo, exclusiva para cada usuário. Essa é a identificação principal para autenticação de mensagens, mesmo quando um endereço de e-mail é incluído no JWT.
- Nome de usuário: (opcional) o nome do usuário final associado ao ID externo ou endereço de e-mail. Se você inclui o nome do usuário no JWT, ele aparece no Espaço de trabalho do agente. Essa informação pode ajudar os agentes nas comunicações com os usuários finais.
- E-mail: (opcional) o endereço de e-mail exclusivo associado a um usuário final.
Visão geral da implementação de autenticação em mensagens para usuários finais
O Zendesk usa Tokens da web JSON (JWTs) para autenticar usuários finais de mensagens, o que fornece uma maneira flexível e sem estado de verificar identidades de usuários e proteger pontos de extremidade da API.
- O processo de autenticação em mensagens começa com um administrador gerando uma chave de assinatura e fornecendo-a a um desenvolvedor. Em seguida, o desenvolvedor usa a chave de assinatura para implementar um serviço de back-end que pode criar JWTs assinados para os usuários conforme solicitado.
- Quando solicitado, o serviço de back-end cria e retorna JWTs assinados para seu website ou aplicativo móvel. Os JWTs criados por esse serviço precisam incluir um ID externo exclusivo e, opcionalmente, um endereço de e-mail para identificar o usuário final.
- Sempre que o usuário se conecta, seu website ou aplicativo precisa chamar uma API de acesso equivalente disponível para SDKs para dispositivos móveis e Web Widget, momento em que o JWT é passado ao Zendesk para verificar a identidade informada pelo usuário.
Para obter mais informações, especialmente para os desenvolvedores da sua equipe, consulte Enabling authenticated visitors for messaging with Zendesk SDKs ou assista ao vídeo a seguir:
Authenticating end users in web messaging (17:22) (em inglês)
Criação e compartilhamento de uma chave de assinatura
As chaves de assinatura são usadas por desenvolvedores para criar JWTs para usuários finais. É necessário ser um administrador para criar uma chave de assinatura. Você pode criar, no máximo, 10 chaves. Se você tentar criar uma nova chave após atingir o limite de 10, será solicitado que apague as chaves não utilizadas.
- Na Central de administração, clique em
Conta na barra lateral e selecione Segurança > Autenticação de usuário final.
- Clique na aba Mensagens e em Criar chave.
Se você está criando sua primeira chave, Criar chave aparece no final da página. Do contrário, a opção aparece no canto direito superior.
- Insira um Nome para a chave e clique em Avançar.
- Quando solicitado, clique em Copiar para copiar o segredo compartilhado.
A chave é salva e um ID é atribuído automaticamente. Você pode encontrar o ID de uma chave na lista de chaves na aba Mensagens da página Autenticação de usuário final.
- De maneira confidencial, envie para o desenvolvedor o ID da chave e o segredo compartilhado que você copiou.
- Clique em Ocultar chave permanentemente.
Autenticação de usuários finais com somente um ID externo
Para autenticar um usuário final, forneça um ID externo nos JWTs que você emite para os usuários. O Zendesk usa o ID externo fornecido em um JWT como o identificador principal para autenticação do usuário para mensagens. Ao executar a autenticação do usuário, o Zendesk primeiro resolve um usuário existente com o ID externo. Se um endereço de e-mail for incluído no JWT, ele será usado para resolver a identidade do usuário somente quando nenhum usuário existente corresponder ao ID externo.
Assinatura de JWTs somente com um ID externo
- external_id: (obrigatório) é a cadeia de caracteres alfanumérica exclusiva que pode ser usada para identificar cada usuário. Consulte Seleção do ID externo a ser usado em JWTs emitidos para usuários.
-
scope: (obrigatório) o escopo de acesso do chamador. O único valor válido é
user
. - name: (opcional) o nome do usuário. A inclusão do nome na carga do JWT permite que o Zendesk exiba o nome do usuário no Espaço de trabalho do agente e ajuda os agentes a fornecerem um suporte mais personalizado.
{
"external_id": "12345678",
"scope": "user",
"name": "Jane Soap"
}
Seleção do ID externo a ser usado em JWTs emitidos para usuários
- Um ID externo deve ser uma cadeia de caracteres alfanumérica.
- IDs externos podem ter no máximo 255 caracteres.
- O ID externo de cada usuário deve ser globalmente exclusivo no nível da conta.
Se sua conta tem várias marcas, os IDs externos devem ser exclusivos em todas as marcas.
- O ID externo de um usuário nunca deve mudar.
- Um usuário pode ter apenas um ID externo atribuído a ele.
Alguns exemplos de boas escolhas de IDs externos incluem: um ID incrementado ou aleatório atribuído no contato inicial (exemplo: usr_12345) ou, para várias marcas, um identificador específico da marca combinado com um ID incrementado ou aleatório atribuído (exemplo: brand1_a8dedg).
Evite usar o endereço de e-mail e o número de telefone do usuário, pois essas informações podem mudar com o tempo e os usuários podem ter vários e-mails e números de telefones. Evite também o nome do usuário, pois ele pode não ser único.
Incorporação de identidades de e-mail na autenticação do usuário
- Os usuários autenticados têm a autenticação feita por JWTs assinados.
O uso de JWTs proporciona uma abordagem confiável porque o conteúdo de um JWT assinado não pode ser adulterado por usuários finais. Se você se preocupa com ataques de falsidade ideológica, deve restringir as identidades de e-mail para usuários finais autenticados. Essa é a opção mais segura e a configuração padrão para novas contas do Zendesk.
- Os usuários não autenticados são usuários finais que fornecem um endereço de e-mail em resposta a uma solicitação de um bot do Zendesk.
Permitir o uso de identidades de e-mail para usuários não autenticados pode deixar você vulnerável a pessoas que fingem ser outros usuários fornecendo um endereço de e-mail que não é delas.
O fluxograma a seguir demonstra como as identidades de e-mail podem ser usadas na autenticação de mensagens:
Configuração de identidades de e-mail
Com o Web Widget ou aplicativos móveis, os usuários podem fornecer o próprio endereço de e-mail em resposta a um formulário ou uma solicitação de agente de IA. Nesses cenários, não há nada que impeça um usuário mal-intencionado de fornecer o endereço de e-mail de outra pessoa na tentativa de se passar por ela. No entanto, usar JWTs para autenticar usuários com IDs externos e identidades de e-mail é uma maneira mais confiável de atribuir endereços de e-mail aos usuários.
Dependendo das suas configurações, os agentes poderão ver endereços de e-mail coletados por formulário e fornecidos pelo JWT nos perfis de usuário. Em novas contas do Zendesk, as identidades de e-mail são ativadas e configuradas para usar apenas endereços de e-mail verificados. Essa é a opção mais segura. Contas mais antigas são configuradas para usar endereços de e-mail verificados e não verificados.
- Na Central de administração, clique em
Canais na barra lateral e selecione Mensagens e redes sociais > Mensagens.
- Clique em Gerenciar configurações.
- Clique em Identidades de e-mail e selecione uma das seguintes opções:
- Usar apenas e-mails verificados: (padrão) as identidades de e-mail são criadas apenas para usuários autenticados e que tenham um endereço de e-mail verificado incluído com o JWT emitido.
- Usar e-mails verificados e não verificados: além das identidades de e-mail de usuários autenticados com endereços de e-mail verificados serem visíveis nos perfis de usuário, os endereços de e-mail não verificados fornecidos pelos usuários por meio de fluxos de agentes de IA também são adicionados ao perfil do usuário.
- (Não recomendado) Se você quer que qualquer usuário, mesmo os não autenticados, sejam capazes de reivindicar endereços de e-mail verificados, selecione O usuário não autenticado pode reivindicar e-mails verificados.
- Clique em Salvar configurações.
Uso apenas de e-mails verificados
as identidades de e-mail são criadas somente para usuários que estejam autenticados e tenham um endereço de e-mail verificado incluído com o JWT emitido.
Com essa opção, os agentes veem o endereço de e-mail fornecido pelos usuários finais não autenticados no histórico da conversa, mas não veem uma identidade de e-mail vinculada ao usuário. Se um agente precisa fazer o acompanhamento com um usuário não autenticado por e-mail, precisa adicionar manualmente a identidade de e-mail ao registro do usuário.
Uso de e-mails verificados e não verificados
além das identidades de e-mail de usuários autenticados com endereços de e-mail verificados serem visíveis nos perfis de usuário, os endereços de e-mail não verificados fornecidos pelos usuários por meio de fluxos de agentes de IA também são adicionados ao perfil do usuário.
Essa opção é menos segura porque usuários mal-intencionados ainda podem tentar executar ataques de falsidade ideológica. No entanto, os agentes podem inspecionar os perfis dos usuários para determinar se um endereço de e-mail é verificado. Endereços de e-mail não verificados são claramente marcados no Espaço de trabalho do agente. Quando os agentes precisam enviar e-mails de acompanhamento, eles podem ser instruídos a verificar os usuários finais com perguntas de segurança para aumentar a confiança de que o usuário final é quem ele diz ser.
Ordem dos eventos | Evento | Identidade de e-mail resultante |
---|---|---|
1 | Um usuário não autenticado fornece um e-mail coletado por formulário. Por exemplo, alice@exemplo.org | O Zendesk cria um novo usuário não autenticado (id: 12345) com a identidade de e-mail não verificada (alice@exemplo.org). |
2 | Um usuário autenticado recebe um JWT com as seguintes declarações:
|
O Zendesk cria um novo usuário autenticado (id: 22345) com uma identidade de e-mail verificada (alice@exemplo.org). O usuário não autenticado (id: 12345) perde sua identidade de e-mail não verificada porque ela foi sobreposta por uma identidade verificada. |
Permitir que usuários não autenticados reivindiquem e-mail verificados (não recomendado)
Ao contrário das outras opções de identidade de e-mail, esta configuração permite que os usuários assumam a identidade de usuários autenticados apenas fornecendo o endereço de e-mail do usuário quando solicitado. Quando selecionada, os e-mails verificados não se sobrepõem aos e-mails não verificados.
Essa opção é a menos segura e mais suscetível a ataques de falsidade ideológica. No entanto, agentes diligentes ainda podem detectar possíveis impostores nesse cenário, procurando pelo ícone de marca de seleção verde no perfil do usuário e ao lado das mensagens deles, o que indica se o usuário é autenticado.
Quando você seleciona essa opção, o estado de verificação das identidades de e-mail coletadas dos canais de mensagens não é mais confiável, pois um impostor pode surgir após a autenticação do usuário e assumir a posse do status de e-mail em uma interação por mensagens posterior. Isso significa que os ataques de falsidade ideológica têm mais probabilidade de sucesso e os agentes têm meios limitados de saber se o usuário final é quem diz ser. No entanto, as identidades de e-mail verificadas ainda se sobrepõem às identidades de e-mail não verificadas, e a identidade de e-mail é removida do registro de usuário do impostor.
Emissão de JWTs com endereços de e-mail
- external_id: (obrigatório) é a cadeia de caracteres alfanumérica exclusiva que pode ser usada para identificar cada usuário. Consulte Seleção do ID externo a ser usado em JWTs emitidos para usuários.
-
scope: (obrigatório) o escopo de acesso do chamador. O único valor válido é
user
. - name: (opcional) o nome do usuário. A inclusão do nome na carga do JWT permite que o Zendesk exiba o nome do usuário no Espaço de trabalho do agente e ajuda os agentes a fornecerem um suporte mais personalizado.
-
email: (obrigatório) o endereço de e-mail do usuário sendo conectado. Precisa ser exclusivo do usuário.
Defina o endereço de e-mail como o endereço de e-mail principal do usuário no Espaço de trabalho do agente. Os JWTs não têm suporte para a inclusão de endereços de e-mail secundários.
-
email_verified: (opcional) se o usuário final em questão comprovou que o endereço de e-mail é dele. Se você quer que usuários finais tenham identidades de e-mail verificadas, os JWTs emitidos devem conter as declarações
email
e"email_verified": true
.
{
"external_id": "12345678",
"email": "janes@soap.com",
"email_verified": true,
"name": "Jane Soap",
"scope": "user"
}
Resolução de conflitos entre IDs externos e e-mails nos JWTs
O Zendesk usa o ID externo como o identificador principal, com os endereços de e-mail sendo usados somente se nenhuma correspondência for encontrada para o ID externo.
É melhor implementar a autenticação de mensagens para evitar conflitos. Por exemplo, escolha seus IDs externos e configurações de e-mail no Zendesk para garantir que não entrem em conflito. Se, no entanto, o endereço de e-mail apresentado em um JWT já está associado a um ID externo diferente, o Zendesk rejeita o JWT e a tentativa de acesso do usuário final falha. Quando isso acontece, a conversa começa com o usuário em um estado não autenticado.
- Atualize o JWT para usar outro valor de
external_id
ou endereço deemail
.OU
- Apague o usuário com o
external_id
conflitante, liberando-o para ser usado por um usuário final diferente. Consulte Exclusão de usuário na API do Sunshine Conversations.
3 comentários
Franks Andrade Olegario
Boa tarde!
Como faço isso dentro do próprio Zendesk?
Ex: O usuário final está logado no Zendesk no Guide, nesse guide disponibilizamos o Mensagem. Não quero que o meu cliente informe novamente seus dados para começar a conversa pois ele já está logado no zendesk. Como fonfiguro isso?
3
Mayara Lucena
Boa tarde.
Porquê o BOT não consegue identificar o usuário logado no GUIDE Zendesk e criar o ticket associado ao email desse usuário ?
1
Jakub
A autenticação do Centro de Ajuda e a autenticação do widget são dois fluxos diferentes.
Como não há outra maneira nativa de fazer isso no momento, o processo de autenticação JWT ainda precisa ser implementado como seria para qualquer site externo.
0