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:
Generieren Sie einen gültige JWT-Token der JSON-Nutzlast. Weitere Informationen: setAuthTokenProvider
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.
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.
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