共用方式為


傳送驗證代用文字

若要在客戶開始聊天時對其進行驗證,請將驗證權杖傳遞至 Customer Service 全通路。 此權杖可用來驗證從網域登入的客戶,並根據定義的內容變數擷取資訊。 自訂驗證是選擇性的,只有在聊天小工具裝載在 Power Apps 入口網站外部時才相關。

這很重要

  • 在 JSON Web 權杖 (JWT) 的承載中,為金鑰提供的 lwicontexts 值應該是序列化的自訂內容。
  • 自訂內容是索引鍵/值組的集合。 任何索引鍵只允許基本值。
  • 自訂內容的索引鍵必須對應於為 Customer Service 全通路中相關聯工作流建立的內容變數。
  • 開始新聊天時,即時聊天小工具會叫用驗證權杖提供者。

只有在為小組件啟用驗證時,與驗證權杖提供者相關的 SDK 才適用。 若要啟用小工具的驗證,請參閱 建立聊天驗證設定

請按照以下步驟在開始聊天時發送身份驗證令牌:

  1. 從 JSON 承載產生有效的 JWT。 其他資訊: setAuthTokenProvider

  2. 應該在引發 lcw:ready 事件 之後叫用即時聊天方法。 您可以在視窗物件上新增自己的事件接聽程式,以監聽此事件。

  3. 引發事件之後 lcw:ready ,請使用 setAuthTokenProvider 方法向即時聊天註冊驗證權杖提供者。

    備註

    若要避免逾時,setAuthTokenProvider 方法中的 authTokenProvider 函式必須在 10 秒內回應。

  4. 使用 startChat 方法開始聊天。

範例程式碼

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

setAuthToken提供者
getAuthTokenProvider
removeAuthTokenProvider
即時聊天SDK JavaScript API參考
發送自訂上下文