El Web Widget (clásico) se puede configurar para incrustar contenido de un centro de ayuda restringido (en el que los usuarios deban iniciar sesión para obtener acceso) o contenido restringido de la base de conocimientos (un centro de ayuda público con artículos restringidos a determinados usuarios).
Cuando se configura el Web Widget (clásico) para incluir contenido restringido:
- Los visitantes del sitio web que han iniciado sesión pueden leer los artículos restringidos del centro de ayuda a través del Web Widget (clásico). Tenga en cuenta que el sitio del cliente donde está incrustado el widget es responsable de hacer la autenticación del correo electrónico del usuario.
- Sin embargo, los visitantes que no han iniciado sesión solo ven los artículos públicos. Si no hay ningún artículo público, las funciones del centro de ayuda no aparecen en el Web Widget (clásico).
Este artículo contiene los siguientes temas:
Si desea más información sobre el Web Widget (clásico), consulte Uso del Web Widget (clásico) para incrustar la función de atención al cliente en un sitio web.
Si desea información sobre centros de ayuda restringidos y el contenido de la base de conocimientos, consulte Restringir el contenido únicamente a usuarios que han iniciado sesión y Restricción del acceso al contenido de la base de conocimientos.
Determinar la configuración de seguridad del centro de ayuda
El Web Widget (clásico) permite mostrar el contenido de un centro de ayuda con cualquiera de las siguientes configuraciones de seguridad. Según el tipo de centro de ayuda, puede que tenga que activar o desactivar la opción Requerir inicio de sesión en la configuración de seguridad del centro de ayuda en Guide.
Tipo de centro de ayuda | ¿Activar la opción “Requerir inicio de sesión”? |
---|---|
Un centro de ayuda público, donde todo el contenido está a disposición del público. | No active la opción Requerir inicio de sesión. |
Un centro de ayuda restringido, donde los usuarios tienen que estar registrados y haber iniciado sesión para poder ver el contenido. | Active la opción Requerir inicio de sesión. |
Un centro de ayuda público con contenido restringido, donde algunos artículos solo están a disposición de determinados usuarios, y otros están a disposición de todos los visitantes del centro de ayuda. | No active la opción Requerir inicio de sesión. Todo el mundo puede ver los artículos no restringidos del centro de ayuda sin necesidad de iniciar sesión. No obstante, solo los usuarios que han iniciado sesión y tienen los permisos correspondientes pueden ver los artículos restringidos. |
Para verificar la configuración de seguridad del centro de ayuda
- En Guide, haga clic en el icono Configuración () en la barra lateral.
- En la sección Seguridad, active o desactive la opción Requerir inicio de sesión, si es necesario, según el tipo de centro de ayuda.
- Si tiene un centro de ayuda restringido o un centro de ayuda público con contenido restringido, vaya a la sección Configurar el Web Widget (clásico) para mostrar contenido restringido.
Configurar el Web Widget (clásico) para mostrar contenido restringido
Si tiene un centro de ayuda restringido o un centro de ayuda público con contenido restringido, eso quiere decir que tiene artículos restringidos (consulte Determinar la configuración de seguridad del centro de ayuda). Si desea que los artículos restringidos aparezcan en el Web Widget (clásico), debe configurar las opciones del Web Widget (clásico) y agregar fragmentos adicionales en el código del sitio web.
Si tiene un centro de ayuda público, esta tarea no se aplica en su caso.
Para comenzar, debe verificar la configuración del Web Widget (clásico) y generar un secreto compartido.
Para verificar la configuración y generar un secreto compartido
- En el Centro de administración, haga clic en el icono Canales () en la barra lateral y luego seleccione Clásico > Web Widget.
- Haga clic en la pestaña Personalización.
- Asegúrese de que el Centro de ayuda esté activado.
Si aún no lo ha hecho, vaya a la configuración de Guide y active o desactive la opción Requerir inicio de sesión, según el tipo de centro de ayuda (consulte Determinar la configuración de seguridad del centro de ayuda).
- Desplácese a Configuración de seguridad y haga clic en Configurar.
- En el cuadro Lista autorizada, ingrese los subdominios que contienen el Web Widget (clásico). Esto permite que el contenido restringido del centro de ayuda se muestre en el widget para los usuarios autenticados.
Por su seguridad, se recomienda agregar subdominios a la lista autorizada. Si hay motivos específicos para que la restricción de acceso a ciertos subdominios en particular no funcione, puede dejar este cuadro en blanco.
- Seleccione Permitir que los agentes tengan acceso al contenido restringido del Centro de ayuda para permitir que el contenido restringido del centro de ayuda aparezca cuando los agentes y administradores accedan al Web Widget (clásico).
Si tiene un centro de ayuda restringido y el acceso de los agentes no está activado, las funciones del centro de ayuda no se mostrarán en el Web Widget (clásico) para los agentes y administradores. Si tiene artículos restringidos y el acceso de los agentes no está activado, los agentes solo verán el contenido público.
- Configure el Secreto compartido:
- Para crear un secreto compartido haga clic en el botón Generar:
Puesto que se trata de una configuración de seguridad, el secreto compartido está concebido para ser generado, copiado y pegado en una comunicación con el equipo de ingeniería o directamente en el código base todo a la vez. No se debe ingresar en un navegador.
Nota: El secreto compartido se debe mantener seguro. Como resultado, solo aparecerá una sola vez en su totalidad. Si no tiene acceso al secreto compartido y necesita el secreto completo para crear su token, puede restablecer el secreto haciendo clic en Restablecer. - Si cree que su secreto compartido puede estar en peligro, después de restablecerlo puede revocar todos los tokens. Esto invalidará el acceso de cualquiera que se haya autenticado anteriormente y no permitirá ver el contenido restringido hasta que se emita un nuevo token válido.
- Para crear un secreto compartido haga clic en el botón Generar:
Una vez generado el secreto compartido, se puede usar para crear un token JWT (Más información sobre JWT) que se agregará al fragmento del Web Widget (clásico).
Para crear un token JWT y agregar el código al fragmento del Web Widget (clásico)
- Cree una carga de datos del lado del servidor para el token JWT. Debe tener la siguiente información:
- name: nombre del cliente
- email: correo electrónico del cliente
-
iat: valor entero de la marca de tiempo actual, en segundos. Algunas funciones en idiomas específicos, es decir Date.now() de JavaScript, devuelven milisegundos, de modo que asegúrese de hacer la conversión a segundos.
Iat para la autenticación del Web Widget permite un sesgo de reloj de hasta dos minutos.
- jti: Identificador único para este token. No puede ser igual que ningún otro token jwt ya enviado. Un número aleatorio de 64 bits por ejemplo.
- Utilice los ejemplos de código a continuación para buscar una plantilla que coincida con sus necesidades de idioma.
- Agregue una función que obtenga el JWT del servidor, y haga una devolución de llamada con el valor del JWT. Reemplace "YOUR_JWT_TOKEN" con el token que se creó. Asegúrese de poner este código antes del fragmento del Web Widget (clásico):
<script type="text/javascript"> window.zESettings = { webWidget: { authenticate: { jwtFn: function(callback) { callback('YOUR_JWT_TOKEN'); } } } }; </script>
Los tokens vencen después de dos horas. Si desea eliminarlos del almacenamiento local antes de eso, puede agregar la siguiente llamada API cuando el usuario está cerrando sesión:
<script type="text/javascript"> zE(function() { zE.logout(); }); </script>
Ejemplos de código
El token se debe generar dinámicamente del lado de servidor durante la carga de la página. Busque la plantilla a continuación que coincida con sus necesidades de idioma. Personalice la muestra si es necesario, y no olvide reemplazar #{details} con su propia información.
Si ninguna de las muestras coincide con sus necesidades, JWT tiene una lista más extensa de bibliotecas JWT que puede explorar.
Ruby
Primero, instale ruby-jwt.
Si está usando Rubygems:
gem install jwt
Si está usando Bundler, agregue lo siguiente al archivo gem:
gem 'jwt'
A continuación, genere un token usando el secreto compartido:
require 'jwt'
payload = {
:name => "#{customerName}",
:email => "#{customerEmail}",
:iat => timestamp,
:jti => "#{uniqueId}"
}
token = JWT.encode payload, "#{yourSecret}"
NodeJS
Instale jsonwebtoken:
npm install jsonwebtoken --save-dev
A continuación, genere un token usando el secreto compartido:
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
Genere un token usando el secreto compartido:
from jose import jwt
var payload = {
'name': '#{customerName}',
'email': '#{customerEmail}',
'iat': #{timestamp},
'jti': '#{uniqueId}'
}
token = jwt.encode(payload, '#{yourSecret}'
PHP
Descargue PHP-JWT:
composer require firebase/php-jwt
Genere un token usando el secreto compartido:
use \Firebase\JWT\JWT;
$payload = {
'name' => '#{customerName}' ,
'email' => '#{customerEmail}',
'iat' => #{timestamp},
'jti' => '#{uniqueId}'
};
$token = JWT::encode($payload, '#{yourSecret}');
Elixir
Agregue `json_web_token_ex` al archivo `mix.exs`:
defp deps do
[{:json_web_token, "~> 0.2"}]
end
Genere un token usando el secreto compartido:
data = %{
name: "#{customerName}",
email: "#{customerEmail}",
iat: "#{timestamp}",
jti: "#{uniqueId}"
}
options = %{ key: "#{yourSecret}" }
jwt = JsonWebToken.sign data, options