Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Per autenticar un client quan iniciï un xat, passeu un testimoni d'autenticació a l'Omnicanal per al Customer Service. Aquest testimoni s'utilitza per validar un client que ha iniciat la sessió des d'un domini i per extreure informació en funció de les variables de context que es defineixen. L'autenticació personalitzada és opcional i només és rellevant quan el giny de xat s'allotja fora dels portals del Power Apps.
Important
- A la càrrega útil del JSON Web Token (JWT), el valor proporcionat per a la
lwicontextsclau ha de ser el context personalitzat serialitzat. - El context personalitzat és una col·lecció de parells clau/valor. Només es permeten valors primitius per a qualsevol clau.
- Les claus del context personalitzat han de correspondre a les variables de context que es creen per a la seqüència de treball associada a l'Omnicanal per al Customer Service.
- El proveïdor de testimonis d'autenticació seria invocat pel giny de xat en directe quan s'inicia un xat nou.
Els SDK relacionats amb el proveïdor de testimonis d'autenticació només s'apliquen si l'autenticació està habilitada per al giny. Per habilitar l'autenticació del giny, consulta Crear la configuració d'autenticació de xat.
Seguiu aquests passos per enviar un testimoni d'autenticació quan inicieu un xat:
Genereu un JWT vàlid a partir de la càrrega útil JSON. Més informació: setAuthTokenProvider
Els mètodes de xat en directe s'han d'invocar després que s'aixequi l'esdeveniment lcw:ready . Podeu escoltar aquest esdeveniment afegint el vostre propi oient d'esdeveniments a l'objecte window.
Un cop generat l'esdeveniment
lcw:ready, registreu un proveïdor de testimonis d'autenticació amb el xat en directe mitjançant el mètode setAuthTokenProvider .Nota
Per evitar el temps d'espera, la funció authTokenProvider del mètode setAuthTokenProvider ha de respondre en un termini de 10 segons.
Utilitzeu el mètode startChat per iniciar el xat.
Codi d'exemple
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);
});
Informació relacionada
setAuthTokenProvider
getAuthTokenProvider
removeAuthTokenProvider
Referència de l'API JavaScript de l'SDK de xat en directe
Enviar context personalitzat