Partager via


Envoyer le jeton d’authentification

Pour authentifier un client au démarrage d’une conversation instantanée, transmettez un jeton d’authentification à Omnicanal pour Customer Service. Ce jeton est utilisé pour valider un client connecté depuis un domaine et extraire les informations selon les variables contextuelles 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 clé lwicontexts doit être le contexte personnalisé sérialisé.
  • Le contexte personnalisé désigne un ensemble de paires de clés/valeurs. Seules les valeurs primitives sont autorisées pour n’importe quelle clé.
  • Les clés du contexte personnalisé doivent correspondre aux variables contextuelles 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 la conversation instantanée en direct au début d’une nouvelle conversation instantanée.

Les kits de développement logiciel associés au fournisseur du jeton d’authentification s’appliquent uniquement si l’authentification est activée pour le widget. Pour activer l’authentification pour votre widget, voir Créer les paramètres d’authentification de la conversation instantanée.

Procédez comme suit pour envoyer un jeton d’authentification au début d’une conversation instantanée :

  1. créez un jeton web JSON valide depuis la charge utile JSON. Pour plus d’informations : setAuthTokenProvider

  2. Les méthodes de conversation instantanée en direct doivent être appelées une fois l’événement lcw:ready déclenché. Vous pouvez écouter cet événement en ajoutant votre propre écouteur d’événement sur l’objet de la fenêtre.

  3. Une fois que l’événement lcw:ready est lancé, enregistrez un fournisseur de jeton d’authentification avec la conversation instantanée en direct en utilisant la méthodesetAuthTokenProvider.

    Note

    Pour éviter le délai d’expiration, la fonction authTokenProvider dans la méthode setAuthTokenProvider doit répondre dans les 10 secondes.

  4. Utilisez la méthode startChat pour lancer 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);
});

Voir aussi

setAuthTokenProvider
getAuthTokenProvider
removeAuthTokenProvider
Référence de l’API JavaScript pour le kit de développement logiciel de la conversation instantanée en direct
Envoyer du contexte personnalisé