Vous pouvez configurer votre Web Widget (Classique) pour incorporer du contenu provenant d’un centre d’aide restreint (les utilisateurs doivent se connecter pour y accéder) ou du contenu provenant d’une base de connaissances restreinte (un centre d’aide public avec des articles limités à des utilisateurs spécifiques).
Quand vous configurez le Web Widget (Classique) pour inclure du contenu restreint :
- Les visiteurs de votre site Web qui sont connectés peuvent consulter les articles du centre d’aide restreint via le Web Widget (Classique). Remarque – Le site du client auquel le Web Widget est incorporé est responsable de l’authentification de l’adresse e-mail des utilisateurs.
- Les visiteurs qui ne sont pas connectés, eux, ne voient que les articles publics. S’il n’y a pas d’articles publics, les fonctionnalités du centre d’aide ne s’affichent pas dans le Web Widget (Classique).
Cet article aborde les sujets suivants :
Pour en savoir plus au sujet du Web Widget (Classique), consultez Utilisation du Web Widget (Classique) pour incorporer le service client à votre site Web.
Pour en savoir plus au sujet des centres d’aide et des contenus de base de connaissances restreints, consultez Restriction de votre contenu aux utilisateurs connectés uniquement et Restriction de l’accès au contenu de la base de connaissances.
Vérification des paramètres de sécurité de votre centre d’aide
Le Web Widget (Classique) vous autorise à afficher le contenu d’un centre d’aide ayant l’une des configurations de sécurité suivantes. Vous devrez peut-être activer ou désactiver l’option Exiger la connexion dans les paramètres de sécurité de votre centre d’aide, dans Guide, en fonction de votre type de centre d’aide.
Type de centre d’aide | Activer Exiger la connexion ? |
---|---|
Un centre d’aide public, dont tout le contenu est à la disposition du public. | N’activez pas Exiger la connexion. |
Un centre d’aide restreint, dans lequel les utilisateurs doivent être inscrits et connectés afin de consulter le contenu. | Activez Exiger la connexion. |
Un centre d’aide public avec du contenu restreint, dans lequel certains articles sont accessibles à des utilisateurs spécifiques uniquement, alors que le reste du contenu est à la disposition du public. | N’activez pas Exiger la connexion. Tout le monde peut voir les articles non restreints de votre centre d’aide sans se connecter. Cependant, seuls les utilisateurs connectés avec les permissions adéquates peuvent consulter les articles restreints. |
Pour vérifier les paramètres de sécurité de votre centre d’aide
- Dans Guide, cliquez sur l’icône Paramètres () dans la barre latérale.
- Dans la section Sécurité, activez ou désactivez l’option Exiger la connexion, si besoin est, en fonction de votre type de centre d’aide.
- Si vous avez un centre d’aide restreint ou un centre d’aide public avec du contenu restreint, allez à Configuration du Web Widget (Classique) pour l’affichage du contenu restreint.
Configuration du Web Widget (Classique) pour l’affichage du contenu restreint
Si vous avez un centre d’aide restreint ou un centre d’aide public avec du contenu restreint, cela signifie que vous avez des articles restreints (consultez Vérification des paramètres de sécurité de votre centre d’aide). Si vous voulez que vos articles restreints s’affichent dans le Web Widget (Classique), vous devez configurer les paramètres du Web Widget (Classique) et ajouter des snippets supplémentaires au code de votre site Web.
Si vous avez un centre d’aide public, vous n’êtes pas concerné par cette procédure.
Pour commencer, vous devez vérifier les paramètres de votre Web Widget (Classique) et générer un secret partagé.
Pour vérifier vos paramètres et générer un secret partagé
- Dans le Centre d’administration, cliquez sur l’icône Canaux () dans la barre latérale, puis sélectionnez Classique > Web Widget.
- Cliquez sur l’onglet Personnalisation.
- Vérifiez que le centre d’aide est activé.
Si ce n’est pas déjà fait, allez aux paramètres Guide et activez ou désactivez l’option Exiger la connexion en fonction de votre type de centre d’aide (consultez Vérification des paramètres de sécurité de votre centre d’aide).
- Allez jusqu’à Paramètres de sécurité et cliquez sur Configurer.
- Dans le champ Liste autorisée, saisissez les sous-domaines qui contiennent le Web Widget (Classique). Cela permet l’affichage du contenu de centre d’aide restreint dans le widget pour les utilisateurs authentifiés.
Pour des raisons de sécurité, nous vous conseillons d’ajouter ces sous-domaines à la liste autorisée. Si vous avez des raisons spécifiques pour lesquelles la restriction de l’accès à des sous-domaines particuliers ne fonctionnera pas, vous pouvez laisser ce champ vide.
- Sélectionnez Permettre aux agents d’accéder au contenu restreint du centre d’aide pour que le contenu du centre d’aide restreint s’affiche quand les administrateurs et les agents accèdent au Web Widget (Classique).
Si vous avez un centre d’aide restreint et si l’accès des agents n’est pas activé, les fonctionnalités du centre d’aide ne s’afficheront pas dans le Web Widget (Classique) pour les agents et les administrateurs. Si vous avez des articles restreints et si l’accès des agents n’est pas activé, les agents ne verront que le contenu public.
- Configurez un secret partagé :
- Créez un secret partagé en cliquant sur le bouton Générer :
Comme il s’agit d’un paramètre de sécurité, votre secret partagé est conçu pour être immédiatement généré, copié et collé dans un message à votre équipe d’ingénierie ou directement dans votre code base. Vous ne devez pas le saisir dans un navigateur.
Remarque – Le secret partagé doit rester confidentiel. Par conséquent, il ne s’affichera dans sa totalité qu’une seule fois. Si vous n’avez pas accès au secret partagé et si vous en avez besoin pour créer votre token, vous pouvez le réinitialiser en cliquant sur Réinitialiser. - Si vous pensez que votre secret partagé a été compromis, après sa réinitialisation, vous pouvez révoquer tous les tokens. Cela invalidera l’accès de tous les utilisateurs qui se sont identifiés précédemment et le contenu restreint ne pourra pas être consulté jusqu’à l’émission d’un nouveau token valide.
- Créez un secret partagé en cliquant sur le bouton Générer :
Une fois le secret partagé généré, utilisez-le pour créer un token JWT (En savoir plus au sujet de JWT) que vous ajouterez au snippet de votre Web Widget (Classique).
Pour créer un token JWT et ajouter le code au snippet de votre Web Widget (Classique)
- Construisez une charge de données côté serveur pour le token JWT. Vous devez y inclure les informations suivantes :
- name : nom du client.
- email : adresse e-mail du client.
-
iat : valeur entière de l’horodatage actuel, en secondes. Certaines fonctions dans des langages spécifiques comme Date.now() de JavaScript renvoie des millisecondes, n’oubliez donc pas de convertir en secondes.
L’authentification Iat pour le Web Widget permet un décalage d’horloge de deux minutes.
- jti : identifiant unique pour ce token. Ne peut pas être identique à un token jwt déjà envoyé. Un nombre 64 bits aléatoire par exemple.
- Utilisez les exemples de code ci-dessous pour trouver un modèle adapté à vos besoins.
- Ajoutez une fonction qui récupère votre JWT sur votre serveur et effectue un rappel avec la valeur JWT. Remplacez « YOUR_JWT_TOKEN » par le token que vous avez créé. Placez ce code AVANT le snippet du Web Widget (Classique) :
<script type="text/javascript"> window.zESettings = { webWidget: { authenticate: { jwtFn: function(callback) { callback('YOUR_JWT_TOKEN'); } } } }; </script>
Les tokens expirent au bout de deux heures. Vous pouvez les supprimer du stockage local plus tôt en ajoutant l’appel API suivant quand l’utilisateur se déconnecte :
<script type="text/javascript"> zE(function() { zE.logout(); }); </script>
Exemples de code
Votre jeton doit être généré dynamiquement côté serveur au chargement de la page. Cherchez ci-dessous le modèle adapté à vos besoins. Personnalisez l’exemple de code en fonction de vos besoins, en n’oubliant pas de remplacer #{details} par vos informations.
Si aucun de ces exemples ne répond à vos besoins, JWT a une liste plus complète de bibliothèques JWT.
Ruby
Commencez par installer ruby-jwt.
Si vous utilisez Rubygems :
gem install jwt
Si vous utilisez Bundler, ajoutez ce qui suit à votre fichier gem :
gem 'jwt'
Ensuite, générez un token en utilisant le secret partagé :
require 'jwt'
payload = {
:name => "#{customerName}",
:email => "#{customerEmail}",
:iat => timestamp,
:jti => "#{uniqueId}"
}
token = JWT.encode payload, "#{yourSecret}"
NodeJS
Installez jsonwebtoken :
npm install jsonwebtoken --save-dev
Ensuite, générez un token en utilisant le secret partagé :
var jwt = require('jsonwebtoken');
var payload = {
name: '#{customerName}',
email: '#{customerEmail}',
iat: #{timestamp},
jti: '#{uniqueId}'
};
var token = jwt.sign(payload, '#{yourSecret}');
Python
Installez python-jose :
pip install python-jose
Ensuite, générez un token en utilisant le secret partagé :
from jose import jwt
var payload = {
'name': '#{customerName}',
'email': '#{customerEmail}',
'iat': #{timestamp},
'jti': '#{uniqueId}'
}
token = jwt.encode(payload, '#{yourSecret}'
PHP
Téléchargez PHP-JWT:
composer require firebase/php-jwt
Ensuite, générez un token en utilisant le secret partagé :
use \Firebase\JWT\JWT;
$payload = {
'name' => '#{customerName}' ,
'email' => '#{customerEmail}',
'iat' => #{timestamp},
'jti' => '#{uniqueId}'
};
$token = JWT::encode($payload, '#{yourSecret}');
Elixir
Ajoutez « json_web_token_ex » à votre fichier « mix.exs » :
defp deps do
[{:json_web_token, "~> 0.2"}]
end
Ensuite, générez un token en utilisant le secret partagé :
data = %{
name: "#{customerName}",
email: "#{customerEmail}",
iat: "#{timestamp}",
jti: "#{uniqueId}"
}
options = %{ key: "#{yourSecret}" }
jwt = JsonWebToken.sign data, options