Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para autenticar a un cliente cuando inicia un chat, pase un token de autenticación a la Plataforma omnicanal para Customer Service. Este token se usa para validar un cliente que ha iniciado sesión desde un dominio y para extraer información en función de las variables de contexto definidas. La autenticación personalizada es opcional y solo es relevante cuando el widget de chat se hospeda fuera de los portales de Power Apps.
Importante
- En la carga del token web JSON (JWT), el valor proporcionado para la
lwicontextsclave debe ser el contexto personalizado serializado. - El contexto personalizado es una colección de pares clave-valor. Solo se permiten valores primitivos para cualquier clave.
- Las claves del contexto personalizado deben corresponder a las variables de contexto que se crean para el flujo de trabajo asociado en la Plataforma omnicanal para Customer Service.
- El widget de chat en vivo invocaría al proveedor de token de autenticación al iniciar un nuevo chat.
Los SDK relacionados con el proveedor de tokens de autenticación solo se aplican si la autenticación está habilitada para el widget. Para habilitar la autenticación para el widget, consulte Crear ajustes de autenticación de chat.
Sigue estos pasos para enviar un token de autenticación al iniciar un chat:
Genere un JWT válido a partir de la carga útil JSON. Más información: setAuthTokenProvider
Los métodos de chat en vivo deben invocarse después de que se genere el evento lcw:ready . Puede escuchar este evento agregando su propio detector de eventos en el objeto window.
Una vez generado el
lcw:readyevento, registre un proveedor de tokens de autenticación con chat en vivo mediante el método setAuthTokenProvider .Nota:
Para evitar el tiempo de espera, la función authTokenProvider del método setAuthTokenProvider debe responder en un plazo de 10 segundos.
Use el método startChat para iniciar el chat.
Código de ejemplo
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ón relacionada
setAuthTokenProvider
getAuthTokenProvider
removeAuthTokenProvider
Referencia de la API de JavaScript del SDK de chat en vivo
Enviar contexto personalizado