Compartir a través de


setAuthTokenProvider

La Plataforma omnicanal para Customer Service ofrece un conjunto de funciones que extienden la potencia de Dynamics 365 Customer Service Enterprise con el que las organizaciones pueden conectarse e interactuar de forma instantánea con sus clientes en distintos canales de mensajería digital. Se necesitan una licencia adicional para acceder a la Plataforma omnicanal para Customer Service. Para más información, consulte las páginas Descripción general de precios de Dynamics 365 Customer Service y Plan de precios de Dynamics 365 Customer Service.

Establece el proveedor de tokens de autenticación.

La función de proveedor de token de autenticación, cuando se llama con una función de devolución de llamada como parámetro, invoca la función de devolución de llamada con una cadena de token web JSON (JWT) válida como argumento.
Este método genera un error si el valor del authTokenProvider parámetro no es una función.

Importante

  • En la carga útil del token JWT, el valor proporcionado para lwicontexts key 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.

Nota:

Los métodos del SDK 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.

Este SDK solo se aplica 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.

Syntax

Microsoft.Omnichannel.LiveChatWidget.SDK.setAuthTokenProvider(authTokenProvider);

Parámetros

Parámetro Tipo Description
authTokenProvider Función Función que, cuando se invoca con una función de devolución de llamada como argumento, obtiene el token JWT e invoca la función de devolución de llamada con el token JWT como argumento

Valor devuelto

Ninguno

Example

Carga útil del token de ejemplo

{
    "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",
    "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\"}",
    "iat" : 1542622071,
    "iss" : "contosohelp.com",
    "exp" : 1542625672,
    "nbf" : 1542622072
}

Nota:

En la carga anterior, el valor correspondiente a lwicontexts key debe ser el contexto personalizado serializado. Las claves msdyn_cartvalue y msdyn_isvip en el contexto personalizado serializado corresponden a variables de contexto que se crean para el flujo de trabajo asociado en la Plataforma omnicanal para Customer Service.

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 call your service to convert the payload to a valid JWT token
    return Promise.resolve("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4N2I0ZDA2Yy1hYmMyLWU4MTEtYTliMC0wMDBkM2ExMGUwOWUiLCJsd2ljb250ZXh0cyI6IntcIm1zZHluX2NhcnR2YWx1ZVwiOlwiMTAwMDBcIiwgXCJtc2R5bl9pc3ZpcFwiOlwiZmFsc2VcIn0iLCJpYXQiOjE1NDI2MjIwNzEsImlzcyI6ImNvbnRvc29oZWxwLmNvbSIsImV4cCI6MTU0MjYyNTY3MiwibmJmIjoxNTQyNjIyMDcyfQ.r37z1M5rMyRYMOJ-rhyTRYFOgvl9N7KvTMueSFPkiuM");
}

window.addEventListener("lcw:ready", function handleLivechatReadyEvent(){
// Sets the auth-token provider
// Throws error if authTokenProvider is not a function
    convertToJwtToken(payloadToEncrypt).then(function (jwtToken){
        Microsoft.Omnichannel.LiveChatWidget.SDK.setAuthTokenProvider(function authTokenProvider(callback){
            callback(jwtToken);
        });
    });
});

Códigos de error

Con este método pueden producirse los siguientes errores.

Código de error Mensaje de error
2 Error en la ejecución del método del proveedor de tokens de autenticación
3 El proveedor de tokens de autenticación no proporcionó ningún token
4 Token no válido proporcionado por el proveedor de tokens de autenticación

Referencia de la API de JavaScript para el SDK de chat en vivo