Partilhar via


setAuthTokenProvider

A aplicação Omnicanal para Customer Service oferece um conjunto de capacidades que expande o poder do Dynamics 365 Customer Service Enterprise para permitir que as organizações se liguem e participem instantaneamente com os clientes através de canais de mensagens digitais. É necessária uma licença adicional para aceder ao Omnicanal para Customer Service. Para mais informações, consulte as páginas Descrição geral dos preços do Dynamics 365 Customer Service e Plano de preços do Dynamics 365 Customer Service.

Define o provedor de token de autenticação.

A função de provedor de token de autenticação, quando chamada com uma função de retorno de chamada como parâmetro, invoca a função de retorno de chamada com uma cadeia de caracteres JSON Web Token (JWT) válida como argumento.
Esse método gera um erro se o valor do authTokenProvider parâmetro não for uma função.

Importante

  • Na carga útil do token JWT, o valor fornecido para lwicontexts a chave deve ser o contexto personalizado serializado.
  • O contexto personalizado é uma coleção de pares chave/valor. Apenas valores primitivos são permitidos para qualquer chave.
  • As chaves de contexto personalizado devem corresponder às variáveis de contexto criadas para o fluxo de trabalho associado no Omnichannel for Customer Service.
  • O provedor de token de autenticação seria invocado pelo widget de bate-papo ao vivo ao iniciar um novo bate-papo.

Observação

Os métodos SDK do chat ao vivo devem ser invocados após o evento lcw:ready ser gerado. Você pode ouvir esse evento adicionando seu próprio ouvinte de eventos no objeto window.

Este SDK é aplicável somente se a autenticação estiver habilitada para o widget. Para habilitar a autenticação para seu widget, consulte Criar configurações de autenticação de chat.

Sintaxe

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

Parâmetros

Parâmetro Tipo Description
authTokenProvider Função Função que, quando invocada com uma função de retorno de chamada como argumento, busca o token JWT e invoca a função de retorno de chamada com o token JWT como argumento

Valor de retorno

Nenhum

Example

Amostra de carga útil do token

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

Observação

Na carga útil acima, o valor correspondente à lwicontexts chave deve ser o contexto personalizado serializado. As chaves msdyn_cartvalue e msdyn_isvip no contexto personalizado serializado correspondem a variáveis de contexto que são criadas para o fluxo de trabalho associado no Omnichannel for 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 erro

Os seguintes erros podem ocorrer com esse método.

Código de erro Mensagem de erro
2 Falha na execução do método do provedor de token de autenticação
3 O provedor de token de autenticação não forneceu nenhum token
4 O provedor de token de autenticação forneceu token inválido

Referência da API JavaScript para SDK de chat ao vivo