Autenticação de usuários no widget de ajuda

Criada por Suporte Bravo, Modificado em Mon, 04 Jul 2022 na (o) 04:10 PM por Isabelle Lemes

Disponível em todos os planos


Com o widget de ajuda do Freshdesk, você pode incorporar artigos de solução e um formulário de contato em seu site ou produto. Quando seus clientes precisam de ajuda, eles podem abrir o widget para pesquisar artigos de solução ou enviar um tíquete. Você pode assistir a este vídeo para aprender como configurar o widget de ajuda ou ler mais sobre como configurar o widget de ajuda aqui .


O Freshdesk permite que você restrinja a visibilidade de certas pastas em sua base de conhecimento, tanto para usuários logados em seu portal quanto para contatos de certas empresas. Com isso, você pode:

  • Impedir que artigos de solução com informações confidenciais sejam exibidos publicamente
  • Mostrar artigos de solução com informações sobre uma empresa apenas para contatos dessa empresa
  • Permitir que apenas clientes premium acessem determinados artigos de solução


Ao criar um widget de ajuda, você pode escolher categorias de artigos de solução para associar a esse widget. Se essas categorias tiverem pastas com visibilidade restrita, seus usuários precisam ser autenticados no widget para visualizar esses artigos de solução.


Você pode aplicar essa configuração a qualquer pasta (e aos artigos de solução neles) editando suas propriedades. Você pode optar por tornar uma pasta (e seus artigos de solução) visível para:

  • Todos os usuários
  • Usuários conectados
  • Agentes
  • Empresas
  • Bots


Para editar as propriedades de uma pasta, vá para a tela Soluções, selecione qualquer pasta e clique no ícone de edição de pasta.





  • Depois de habilitado, você pode selecionar quais categorias de artigos de solução exibir.




  • Para autenticar seus clientes no widget, primeiro você precisará de sua chave secreta compartilhada. A chave secreta compartilhada pode ser encontrada em sua conta do Freshdesk em Admin> Conta> Segurança> Configurações do widget . Aqui está um exemplo:



  • Para usar a API de autenticação, gere um token JWT no lado do servidor usando o nome, o e-mail e o tempo de expiração do seu cliente na carga útil.
  • O tempo de expiração deve ser especificado no formato Unix Timestamp e não deve ser superior a duas horas.
  • Essa carga útil precisa ser assinada com a chave secreta compartilhada de sua conta usando o algoritmo HS256.


Para saber mais sobre as especificações de geração de um token JWT, leia nossa documentação de API .


Código de amostra para gerar token JWT:


 requer 'jwt'
carga útil = {
nome: authenticatedCustomerName,
email: authenticatedCustomerEmail,
exp: (Time.now + 2.hours) .to_i
}
token = carga útil JWT.encode, widgetSharedSecretKey


 var jwt = require ('jwt-simple');
var payload = {
nome: authenticatedCustomerName,
email: authenticatedCustomerEmail,
exp: Date.now () + 7200
};
var token = jwt.encode (carga útil, widgetSharedSecretKey);


  • Python (baseado na biblioteca pyjwt)
 importar jwt
de datetime import datetime, timedelta
carga útil = {
"nome": authenticatedCustomerName,
"email": authenticatedCustomerEmail,
"exp": int ((datetime.now () + timedelta (horas = 2)). timestamp ())
}
token = jwt.encode (carga útil, widgetSharedSecretKey, algoritmo = 'HS256')

  • Depois de gerar o token JWT no lado do servidor, você precisa passá-lo como um parâmetro para a API de autenticação de JavaScript do widget. Isso autorizará seus clientes a entrar no widget, permitindo que eles visualizem artigos de solução restritos ou o formulário de contato (se também estiver restrito a usuários conectados).
  • No entanto, esta autorização expira com base no tempo que você definiu. Para uma experiência perfeita para seus clientes, passe uma função de retorno de chamada para automatizar a renovação do token. A função de retorno de chamada será invocada automaticamente antes da expiração do token. A função de retorno de chamada do seu lado precisa:
    • gere novamente o token JWT usando o nome e o e-mail do cliente na carga útil, ao mesmo tempo que especifica o tempo de expiração. Ele precisa ser assinado com a chave secreta compartilhada da conta.
    • chame a API de autenticação com o token regenerado
 {
freshworks_widget_auth_token: “eyJh.GUuY29tIiwibmF.RIjow”
}


então, este é um exemplo de como seria sua implementação da API de autenticação:

 FreshworksWidget ('autenticar', {
token: 'YOUR_JWT_TOKEN_HERE',
callback: authenticateCallback
});

authenticateCallback = function () {
fetch ('https: //your-server.tld/your-auth-url') .então (
função (dados) {
FreshworksWidget ('autenticar', {
token: data.freshworks_widget_auth_token
});
})
}


Neste exemplo, a API de autenticação chama a função authenticateCallback () sempre que o token JWT expira.


  • O formulário de contato estará pré-preenchido com os dados do cliente (nome e endereço de e-mail).
  • O cliente conectado poderá visualizar e pesquisar apenas os artigos aos quais tem acesso.
  • O widget de ajuda carregará o formulário de contato e os artigos de solução no idioma de preferência do cliente. O cliente pode definir o idioma de sua preferência no portal Freshdesk fazendo login e acessando Editar perfil > Idioma . Você pode substituir isso com o parâmetro locale .
  • No portal do agente, você poderá ver quais clientes marcaram um artigo como útil / não útil no widget de ajuda.


Quando os clientes se desconectam do seu site, você precisa desconectá-los do widget. Você pode usar a API de logout para fazer isso:

 FreshworksWidget ('logout')

Aqui está um exemplo da API de logout sendo usada ao clicar no botão de desconexão:

 function logoutWidget () {
FreshworksWidget ('logout')
}
<a href="#" onclick="logoutWidget()"> Sair </a>

7. Redefinindo a chave secreta compartilhada

  • Você pode redefinir a chave secreta compartilhada em Admin> Conta> Segurança> Configurações do widget .
  • Quando você redefine sua chave secreta compartilhada, todas as sessões se tornam inválidas e qualquer cliente que esteja conectado ao widget será desconectado.
  • Após a redefinição, você precisará usar a nova chave secreta compartilhada para gerar o token JWT no lado do servidor.




Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo