Bidali autentifikazio-tokena

Bezero bat txat bat hasten denean kautotzeko, pasa autentifikazio token bat Customer Service-rako Plataforma omnikanalera. Token hau domeinu batetik saioa hasi duen bezero bat balioztatzeko eta zehaztutako testuinguru-aldagaien arabera informazioa ateratzeko erabiltzen da. Autentifikazio pertsonalizatua aukerakoa da, eta txat widget-a Power Apps-en atarietatik kanpo dagoenean bakarrik da garrantzitsua.

Garrantzitsua da

  • JSON (JWT) web tokenaren kargan, testuinguru pertsonalizatu serializatua izan behar du gakorako lwicontexts emandako balioak.
  • Testuinguru pertsonalizatua funtsezko pareen bilduma bat da. Edozein gakotarako balio primitiboak bakarrik baimentzen dira.
  • Testuinguru pertsonalizatuaren gakoak Customer Servicerako Plataforma omnikanalean elkartutako lan-fluxurako sortzen diren testuinguru-aldagaiei dagozkie.
  • Txat-aren widget-ak autentifikazio-token hornitzaileari dei egingo lioke txat berri bat hastean.

Autentifikazio token-hornitzailearekin lotutako SDKak autentifikazio-hornitzailearekin lotutakoak soilik aplikatzen dira autentifikazioa widget-erako gaituta badago. Widget-erako autentifikazioa gaitzeko, kontsultatu txat-a autentifikazio-doikuntzak egitea.

Jarraitu pauso hauek autentifikazio token bat bidaltzeko txat bat hastean:

  1. JSON karga erabilgarritik abiatuta baliozkoa den JWT bat sortzen du. Informazio gehiago: setAuthTokenProvider

  2. Zuzeneko txat metodoak lcw:ready ekitaldia sortu ondoren erabili behar dira. Ekitaldi hau entzun dezakezu, window objektuan egiten dituen ekitaldien detektagailua gehituz.

  3. Ekitaldia sortu lcw:ready ondoren, autentifikazio token hornitzaile bat erregistratzen du, txat-a zuzenean, setAuthTokenProvider metodoaren bidez.

    Oharra

    Itxaronaldia saihesteko, setAuthTokenProvider metodoaren authTokenProvider funtzioak 10 segundoko epean erantzun behar du.

  4. Erabili txata hasteko startChat metodoa.

Adibide-kodea

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);
});

setAuthTokenProvider
getAuthTokenProvider
removeAuthTokenProvider
JavaScript-en API de JavaScript-en erreferentzia, txat-aren zuzeneko txat-arena
Testuinguru pertsonalizatua bidaltzea