Você pode configurar seu Web Widget (clássico) para incorporar conteúdo de uma central de ajuda restrita (uma que requer que os usuários entrem para acessar) ou conteúdo de uma base de conhecimento restrita (uma central de ajuda pública com artigos restritos a usuários específicos).
Quando você configura o Web Widget (clássico) para incluir conteúdo restrito:
- Os visitantes do seu website que estão conectados podem ler os artigos restritos da central de ajuda pelo Web Widget (clássico). É importante ressaltar que o website do cliente no qual o widget está incorporado é responsável pela autenticação do e-mail de um usuário.
- No entanto, os visitantes que não estiverem conectados verão apenas os artigos públicos. Se nenhum artigo for público, os recursos da central de ajuda não serão exibidos no Web Widget (clássico).
Este artigo inclui os tópicos a seguir:
Para obter mais informações sobre o Web Widget (clássico), consulte Uso do Web Widget (clássico) para incorporar o atendimento ao cliente no seu website.
Para obter informações sobre centrais de ajuda restritas e conteúdo da base de conhecimento, consulte Restrição do acesso ao conteúdo somente aos usuários conectados e Restrição de acesso ao conteúdo da base de conhecimento.
Determinação das configurações de segurança da central de ajuda
O Web Widget (clássico) permite que você exiba conteúdo da central de ajuda com uma das configurações de segurança a seguir. Talvez seja necessário ativar ou desativar a opção Solicitar entrada nas configurações de segurança da central de ajuda, no Guide, com base no tipo da sua central de ajuda.
Tipo de central de ajuda | Ativar "Solicitar entrada"? |
---|---|
Uma central de ajuda pública, onde todo o conteúdo está disponível para o público. | Não ative Solicitar entrada. |
Uma central de ajuda restrita, onde os usuários devem ser registrados e conectados para exibir qualquer conteúdo. | Ative Solicitar entrada. |
Uma central de ajuda pública com conteúdo restrito, onde alguns artigos estão disponíveis apenas para usuários específicos e outros estão disponíveis para todos os visitantes da central de ajuda. | Não ative Solicitar entrada. Todos podem ver os artigos sem restrições na sua central de ajuda sem se conectarem. No entanto, apenas os usuários conectados com as permissões certas podem ver os artigos restritos. |
Como consultar as configurações de segurança da central de ajuda
- No Guide, clique no ícone Configurações () na barra lateral.
- Na seção Segurança, ative ou desative a opção Solicitar entrada, se necessário, de acordo com o tipo da central de ajuda.
- Se você tem uma central de ajuda restrita ou uma central de ajuda pública com conteúdo restrito, vá para Configuração do Web Widget (clássico) para a exibição de conteúdo restrito.
Configuração do Web Widget (clássico) para a exibição de conteúdo restrito
Se você tem uma central de ajuda restrita ou uma central de ajuda pública com conteúdo restrito, isso significa que você tem artigos restritos (consulte Determinação das configurações de segurança da central de ajuda). Se você tem artigos restritos que deseja exibir no Web Widget (clássico), precisa definir as configurações do Web Widget (clássico) e adicionar trechos adicionais no código do website.
Se você tem uma central de ajuda pública, essa tarefa não se aplica a você.
Para começar, você precisa verificar suas configurações do Web Widget (clássico) e gerar um segredo compartilhado.
Como verificar suas configurações e gerar um segredo compartilhado
- Na Central de administração, clique no ícone Canais () na barra lateral e selecione Clássico > Web Widget.
- Clique na aba Personalização.
- Verifique se a opção da Central de Ajuda está ativada.
Caso você ainda não tenha feito isso, visite as configurações do Guide e ative ou desative a opção Solicitar entrada, com base no seu tipo de central de ajuda (consulte Determinação das configurações de segurança da central de ajuda).
- Role até Configurações de segurança e clique em Configurar.
- Na caixa de diálogo Lista de autorização, digite o subdomínio que contém o Web Widget (clássico). Essa ação permite que conteúdo restrito da central de ajuda seja exibido no widget para usuários autenticados.
Para a sua segurança, recomendamos a adição de subdomínios à lista de autorização. Se você tem motivos específicos pelos quais a restrição de acesso a subdomínios específicos não funcionará, deixe essa caixa em branco.
- Selecione Permitir que agentes acessem o conteúdo restrito da Central de Ajuda para permitir que conteúdo da central de ajuda restrita seja exibido quando os agentes e administradores acessam o Web Widget (clássico).
Se sua central de ajuda é restrita e o acesso do agente não está ativado, os recursos da dela não serão exibidos no Web Widget (clássico) para agentes e administradores. Se você tem artigos restritos e o acesso do agente não está ativado, os agentes encontrarão apenas conteúdo público.
- Configure o Segredo compartilhado:
- Crie um segredo compartilhado clicando no botão Gerar:
Como essa é uma configuração de segurança, seu segredo compartilhado deve ser gerado, copiado e colado em uma mensagem informativa para sua equipe de engenheiros, ou diretamente em sua base de códigos, de uma só vez. Ele não deve ser inserido no navegador.
Observação: o segredo compartilhado deve permanecer seguro, por isso, ele será exibido por completo apenas uma vez. Se você não tem acesso ao segredo compartilhado e precisa do segredo completo para criar seu token, pode redefini-lo clicando em Redefinir. - Se você acredita que seu segredo compartilhado foi descoberto, pode redefini-lo e, depois, revogar todos os tokens. Isso invalidará o acesso de qualquer usuário previamente autenticado e não permitirá que o conteúdo restrito seja visualizado até que um token válido seja emitido.
- Crie um segredo compartilhado clicando no botão Gerar:
Após gerar o segredo compartilhado, use-o para criar um token JWT (aprenda mais sobre JWT), que você adicionará ao seu trecho do Web Widget (clássico).
Como criar um token JWT e adicionar o código ao trecho do Web Widget (clássico)
- Crie uma carga de dados do lado do servidor para o token de JWT. As seguintes informações são necessárias:
- name: nome do cliente
- email: e-mail do cliente
-
iat: valor inteiro do carimbo de data e hora atual, em segundos. Algumas funções em linguagens específicas como, por exemplo, Date.now() do JavaScript, retornam milissegundos, portanto, não esqueça de converter para segundos.
A autenticação Iat para o Web Widget permite até dois minutos de distorção do relógio.
- jti: identificador único para esse token. Não pode ser igual aos outros tokens JWT já enviados. Um número aleatório de 64 bits, por exemplo.
- Use as amostras de código abaixo para encontrar um modelo que atenda às suas necessidades de linguagem.
- Adicione uma função que busca o seu JWT do seu servidor e faz o retorno de chamada com o valor do JWT. Substitua "YOUR_JWT_TOKEN" pelo token que você criou. Coloque este código antes do trecho do Web Widget (clássico):
<script type="text/javascript"> window.zESettings = { webWidget: { authenticate: { jwtFn: function(callback) { callback('YOUR_JWT_TOKEN'); } } } }; </script>
Os tokens expiram após duas horas. Você pode removê-los do armazenamento local antes, adicionando a chamada da API quando o usuário está desconectando:
<script type="text/javascript"> zE(function() { zE.logout(); }); </script>
Amostras de código
Seu token precisa ser gerado dinamicamente do lado do servidor no carregamento da página. Encontre o modelo abaixo que atenda às suas necessidades de linguagem. Personalize a amostra como desejar, certificando-se de substituir #{details} com suas próprias informações.
Se nenhuma dessas amostras atender às suas necessidades, o JWT tem uma lista mais extensa de bibliotecas de JWT para explorar.
Ruby
Primeiramente, instale ruby-jwt.
Se você estiver usando Rubygems:
gem install jwt
Se estiver usando o Bundler, adicione o seguinte ao seu arquivo gem:
gem 'jwt'
Depois, gere um token usando o segredo compartilhado:
require 'jwt'
payload = {
:name => "#{customerName}",
:email => "#{customerEmail}",
:iat => timestamp,
:jti => "#{uniqueId}"
}
token = JWT.encode payload, "#{yourSecret}"
NodeJS
Instale jsonwebtoken:
npm install jsonwebtoken --save-dev
Depois, gere um token usando o segredo compartilhado:
var jwt = require('jsonwebtoken');
var payload = {
name: '#{customerName}',
email: '#{customerEmail}',
iat: #{timestamp},
jti: '#{uniqueId}'
};
var token = jwt.sign(payload, '#{yourSecret}');
Python
Instale python-jose:
pip install python-jose
Gere um token usando o segredo compartilhado:
from jose import jwt
var payload = {
'name': '#{customerName}',
'email': '#{customerEmail}',
'iat': #{timestamp},
'jti': '#{uniqueId}'
}
token = jwt.encode(payload, '#{yourSecret}'
PHP
Baixe PHP-JWT:
composer require firebase/php-jwt
Gere um token usando o segredo compartilhado:
use \Firebase\JWT\JWT;
$payload = {
'name' => '#{customerName}' ,
'email' => '#{customerEmail}',
'iat' => #{timestamp},
'jti' => '#{uniqueId}'
};
$token = JWT::encode($payload, '#{yourSecret}');
Elixir
Adicione ‘json_web_token_ex’ ao seu arquivo ‘mix.exs’:
defp deps do
[{:json_web_token, "~> 0.2"}]
end
Gere um token usando o segredo compartilhado:
data = %{
name: "#{customerName}",
email: "#{customerEmail}",
iat: "#{timestamp}",
jti: "#{uniqueId}"
}
options = %{ key: "#{yourSecret}" }
jwt = JsonWebToken.sign data, options