Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para autenticar um cliente quando ele iniciar um bate-papo, passe um token de autenticação para o Omnichannel for 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 apenas quando o widget de chat está hospedado fora dos portais do Power Apps.
Importante
- Na carga útil 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. 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.
Os SDKs relacionados ao provedor de token de autenticação são aplicáveis 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.
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 útil. Para obter mais informações: setAuthTokenProvider
Os métodos de 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.
Depois que o
lcw:readyevento for gerado, registre um provedor de token de autenticação com o 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 dentro de 10 segundos.
Use o método startChat para iniciar o bate-papo.
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 adicionais
setAuthTokenProvider
getAuthTokenProvider
removeAuthTokenProvider
Referência da API JavaScript do SDK de chat ao vivo
Enviar contexto personalizado