Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para autenticar um cliente quando ele iniciar um chat, passe um token de autenticação para o Omnicanal para Customer Service. Esse token é usado para validar um cliente conectado de um domínio e para extrair informações com base nas variáveis de contexto definidas. A autenticação personalizada é opcional e é relevante somente quando o widget de chat é hospedado fora dos portais do Power Apps.
Importante
- Na carga do JSON Web Token (JWT), o valor fornecido para a
lwicontextschave deve ser o contexto personalizado serializado. - O contexto personalizado é uma coleção de pares chave/valor. Somente 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 Omnicanal para Customer Service.
- O provedor de token de autenticação seria invocado pelo widget de chat ao vivo ao iniciar um novo chat.
Os SDKs relacionados ao provedor de token de autenticação serão aplicáveis somente se a autenticação estiver ativada para o widget. Para ativar a autenticação para seu widget, consulte Criar configurações de autenticação de chat.
Siga estas etapas para enviar um token de autenticação ao iniciar um bate-papo:
Gere um JWT válido a partir da carga JSON. Mais informações: setAuthTokenProvider
Os métodos de chat ao vivo devem ser invocados depois que o evento lcw:ready for gerado. Você pode escutar esse evento adicionando seu próprio ouvinte de eventos no objeto window.
Depois que o
lcw:readyevento for gerado, registre um provedor de token de autenticação com chat ao vivo usando o método setAuthTokenProvider .Observação
Para evitar o tempo limite, a função authTokenProvider no método setAuthTokenProvider deve responder em 10 segundos.
Use o método startChat para iniciar o chat.
Código de exemplo
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);
});
Informações relacionadas
setAuthTokenProvider
getAuthTokenProvider
removeAuthTokenProvider
Referência da API JavaScript do SDK do chat ao vivo
Enviar contexto personalizado