Qual é o meu plano?
Suite Team, Growth, Professional, Enterprise ou Enterprise Plus
Support Team, Professional ou Enterprise

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 acessá-la), 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 site do cliente no qual o widget está inserido é 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:

  • Determinação das configurações de segurança da central de ajuda
  • Configuração do Web Widget (clássico) para exibição de conteúdo restrito
  • Amostras de código
Observação: você não precisa ter uma conexão single sign-on (SSO) entre seu site e sua central de ajuda para utilizar esse recurso. No entanto, com o SSO, a experiência é mais otimizada para os usuários que querem “Visualizar o artigo original” a partir do Web Widget (clássico). Mesmo que você já tenha o SSO, precisará configurar o Web Widget (clássico) para poder utilizar esse recurso.

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 do 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, com base no tipo de central de ajuda.

Tipo de central de ajuda Ativar "Solicitar entrada"?
Uma central de ajuda pública, em que todo o conteúdo está disponível para o público. Não ative Solicitar entrada.
Uma central de ajuda restrita, em que os usuários devem estar registrados e conectados para visualizar qualquer conteúdo. Ative Solicitar entrada.
Uma central de ajuda pública com conteúdo restrito, em que 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 precisar se conectar. 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

  1. No Administrador do Conhecimento, clique em Configurações () na barra lateral.
  2. Na seção Segurança, ative ou desative a opção Solicitar entrada, se necessário, com base no seu tipo de central de ajuda.

  3. Se você tem uma central de ajuda restrita ou uma central de ajuda pública com conteúdo restrito, consulte Configuração do Web Widget (clássico) para exibição de conteúdo restrito.

Configuração do Web Widget (clássico) para 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 tem artigos restritos (consulte Determinação das configurações de segurança da central de ajuda). Se você tem artigos restritos e deseja exibi-los no Web Widget (clássico), configure-o e inclua 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

  1. Na Central de administração, clique em Canais na barra lateral e selecione Clássico > Web Widget.
  2. Clique na aba Informações básicas.
  3. Verifique se a caixa de seleção da central de ajuda está marcada.

    Caso você ainda não tenha feito isso, 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).

  4. Clique na aba Segurança.
  5. 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. Use espaços para separar os subdomínios.

  6. 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 acessarem o Web Widget (clássico).

    Se sua central de ajuda é restrita e o acesso do agente não está ativado, os recursos da central de ajuda 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.

  7. 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, é possível redefini-lo clicando em Redefinir.
    • Se você acredita que seu segredo compartilhado foi descoberto, pode redefini-lo e, depois, revogar todos os tokens existentes. 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.

Depois de gerar o segredo compartilhado, use-o para criar um token JWT (saiba mais sobre JWT - em inglês) 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)

  1. Crie uma payload de dados do lado do servidor para o token de JWT. As seguintes informações são necessárias:
    • name: nome do cliente
    • email: email do cliente
    • iat: valor inteiro do carimbo de data/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.
  2. Especifique HS256 como o algoritmo JWT no cabeçalho da sua carga de JWT:
    {
      "typ":"JWT",
      "alg":"HS256"
    }

    HS256 quer dizer HMAC SHA 256, um algoritmo de criptografia de 256 bits criado pela Agência de Segurança Nacional dos Estados Unidos.

    Observação: o Zendesk não oferece suporte aos algoritmos JWT RS256 e ES256.
  3. Use as amostras de código abaixo para encontrar um modelo que atenda às suas necessidades de linguagem.
  4. 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. Certifique-se de colocar esse 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
  • NodeJS
  • Python
  • PHP
  • Elixir

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
Powered by Zendesk