Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Pour authentifier un client lorsqu’il démarre une conversation, transmettez un jeton d’authentification à Omnicanal pour le service clientèle. Ce jeton est utilisé pour valider un client connecté à partir d’un domaine et pour extraire des informations en fonction des variables de contexte définies. L’authentification personnalisée est facultative et n’est pertinente que lorsque le widget de conversation est hébergé en dehors des portails Power Apps.
Important
- Dans la charge utile du jeton Web JSON (JWT), la valeur fournie pour la
lwicontextsclé doit être le contexte personnalisé sérialisé. - Le contexte personnalisé est une collection de paires clé/valeur. Seules les valeurs primitives sont autorisées pour une clé.
- Les clés du contexte personnalisé doivent correspondre aux variables de contexte créées pour le flux de travail associé dans Omnicanal pour Customer Service.
- Le fournisseur de jeton d’authentification serait appelé par le widget de chat en direct lors du démarrage d’un nouveau chat.
Les SDK liés au fournisseur de jeton d’authentification ne s’appliquent que si l’authentification est activée pour le widget. Pour activer l’authentification de votre widget, consultez la section Créer des paramètres d’authentification de chat.
Suivez ces étapes pour envoyer un jeton d’authentification lorsque vous démarrez une discussion :
Générez un JWT valide à partir de la charge utile JSON. Plus d’informations : setAuthTokenProvider
Les méthodes de chat en direct doivent être appelées après le déclenchement de l’événement lcw :ready . Vous pouvez écouter cet événement en ajoutant votre propre écouteur d’événements sur l’objet window.
Une fois l’événement
lcw:readydéclenché, enregistrez un fournisseur de jetons d’authentification avec le chat en direct à l’aide de la méthode setAuthTokenProvider .Note
Pour éviter le délai d’expiration, la fonction authTokenProvider dans la méthode setAuthTokenProvider doit répondre dans les 10 secondes.
Utilisez la méthode startChat pour démarrer le chat.
Exemple de code
let payloadToEncrypt = {
"sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",
"lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\"}",
"iat" : 1542622071,
"iss" : "contosohelp.com",
"exp" : 1542625672,
"nbf" : 1542622072
};
function convertToJwtToken(payloadToEncrypt){
// Ideally, you should call your service to convert the payload to a valid JWT token
return Promise.resolve("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4N2I0ZDA2Yy1hYmMyLWU4MTEtYTliMC0wMDBkM2ExMGUwOWUiLCJsd2ljb250ZXh0cyI6IntcIm1zZHluX2NhcnR2YWx1ZVwiOlwiMTAwMDBcIiwgXCJtc2R5bl9pc3ZpcFwiOlwiZmFsc2VcIn0iLCJpYXQiOjE1NDI2MjIwNzEsImlzcyI6ImNvbnRvc29oZWxwLmNvbSIsImV4cCI6MTU0MjYyNTY3MiwibmJmIjoxNTQyNjIyMDcyfQ.r37z1M5rMyRYMOJ-rhyTRYFOgvl9N7KvTMueSFPkiuM");
}
function authTokenProvider(callback){
convertToJwtToken(payloadToEncrypt).then(function (jwtToken){
// Calling the callback with the valid JWT token
callback(jwtToken);
});
}
window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
// Handle live chat ready event
// Can use the SDK methods now
// Setting authentication token provider to be used for the chat
Microsoft.Omnichannel.LiveChatWidget.SDK.setAuthTokenProvider(authTokenProvider);
// Starting a new chat
Microsoft.Omnichannel.LiveChatWidget.SDK.startChat();
});
window.addEventListener("lcw:error", function handleLivechatErrorEvent(errorEvent){
// Handle livechat error event
console.log(errorEvent);
});
Informations connexes
setAuthTokenProvider
getAuthTokenProvider
removeAuthTokenProvider
Référence de l’API JavaScript du SDK de chat en direct
Envoyer un contexte personnalisé