Freigeben über


Senden Sie Authentifizierungstoken

Um einen Kunden zu authentifizieren wenn ein Chat getartet wird, leiten Sie ein Authentifizierungstoken zu Omnichannel for Customer Service weiter. Das Token wird verwendet, um einen angemeldete Kunden aus einer Domäne zu überprüfen, und Informationen zu den Kontextvariablen zu extrahieren, die definiert werden. Die benutzerdefinierte Authentifizierung ist optional und nur relevant, wenn das Chat Widget außerhalb Power Apps Portalen gehostet wird.

Wichtig

  • In der Nutzlast des JSON Web-Tokens (JWT) muss der Wert, der für den lwicontexts Schlüssel bereitgestellt wird, ein serialisierter benutzerdefinierter Kontext sein.
  • Der benutzerdefinierte Kontext ist eine Sammlung von Schlüssel-Wert-Paaren. Nur primitive Werte für einen Schlüssel sind erlaubt.
  • Die Schlüssel des benutzerdefinierten Kontexts muss mit den Kontextvariablen übereinstimmen, die für den zugeordneten Arbeitsstream in Omnichannel for Customer Service erstellt wurden.
  • Der Authentifizierungstokenanbieter kann von Livechatwidget ausgelöst werden, sobald ein neuer Chat gestartet wird.

Das SDK, das mit dem Authentifizierungstokenanbieter verknüpft ist, gilt nur, wenn Authentifizierung zum Widget aktiviert ist. Um die Authentifizierung für Ihr Widget zu aktivieren, gehen Sie zu Chat-Authentifizierungseinstellungen erstellen.

Folgen Sie den Anweisungen, um ein Authentifizieungstoken zu senden, wenn Sie einen Chat beginnen:

  1. Generieren Sie einen gültige JWT-Token der JSON-Nutzlast. Weitere Informationen: setAuthTokenProvider

  2. Die Livechatmethoden können ausgelöst werden, nachdem das Ereignis lcw:ready Ereignis eingetreten ist.. Sie können auf dieses Ereignis achten, indem Sie Ihre eigenen Ereignislistener dem Fensterobjekt hinzufügen.

  3. Nachdem das lcw:ready Ereignis eingetreten ist, wird ein Authentifizierungstokenanbieter mit dem Livechat mithilfe der setAuthTokenProvider Methode angemeldet.

    Notiz

    Um eine Zeitüberschreitung zu vermeiden, muss die Funktion authTokenProvider in der Methode setAuthTokenProvider innerhalb von 10 Sekunden reagieren.

  4. Verwenden Sie die startChat Methode, um den Chat zu starten.

Beispielcode

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);
});

Siehe auch

setAuthTokenProvider
getAuthTokenProvider
removeAuthTokenProvider
Live Chat SDK JavaScript API Referenz
Benutzerdefinierten Kontext senden